From 6d2d4b1a1441fb238d2d373605e2e4628568fbd3 Mon Sep 17 00:00:00 2001 From: AlejandroCN7 Date: Mon, 3 Oct 2022 13:29:20 +0000 Subject: [PATCH] Documentation source update detected and pushed compilation build directory for Github Pages --- docs/compilation/doctrees/environment.pickle | Bin 277409 -> 276317 bytes docs/compilation/doctrees/index.doctree | Bin 36941 -> 36591 bytes .../pages/notebooks/basic_example.ipynb | 71 +- .../pages/notebooks/change_environment.ipynb | 637 +++++++++++++++--- .../doctrees/pages/environments.doctree | Bin 162898 -> 155124 bytes .../doctrees/pages/introduction.doctree | Bin 29275 -> 28956 bytes .../pages/modules/sinergym.envs.doctree | Bin 5500 -> 5249 bytes .../sinergym.envs.eplus_env.EplusEnv.doctree | Bin 84596 -> 89268 bytes .../modules/sinergym.envs.eplus_env.doctree | Bin 5637 -> 5376 bytes ...rgym.simulators.base.BaseSimulator.doctree | Bin 20925 -> 20974 bytes .../modules/sinergym.simulators.base.doctree | Bin 5674 -> 5412 bytes .../pages/modules/sinergym.simulators.doctree | Bin 8040 -> 7783 bytes ...nergym.simulators.eplus.EnergyPlus.doctree | Bin 101339 -> 101424 bytes .../modules/sinergym.simulators.eplus.doctree | Bin 6273 -> 6007 bytes ....simulators.eplus_alpha.EnergyPlus.doctree | Bin 31089 -> 31138 bytes .../sinergym.simulators.eplus_alpha.doctree | Bin 5807 -> 5538 bytes ...gym.utils.callbacks.LoggerCallback.doctree | Bin 22492 -> 22523 bytes ...utils.callbacks.LoggerEvalCallback.doctree | Bin 44174 -> 44199 bytes .../modules/sinergym.utils.callbacks.doctree | Bin 7212 -> 6950 bytes ...ils.common.create_variable_weather.doctree | Bin 18086 -> 18105 bytes .../modules/sinergym.utils.common.doctree | Bin 22004 -> 21745 bytes ...s.common.export_actuators_to_excel.doctree | Bin 13971 -> 13990 bytes ...utils.common.get_current_time_info.doctree | Bin 9559 -> 9578 bytes ...gym.utils.common.get_delta_seconds.doctree | Bin 13423 -> 13442 bytes ...ergym.utils.common.get_record_keys.doctree | Bin 7947 -> 7966 bytes ...ls.common.get_season_comfort_range.doctree | Bin 11181 -> 11200 bytes .../sinergym.utils.common.is_wrapped.doctree | Bin 8438 -> 8457 bytes ...ergym.utils.common.parse_variables.doctree | Bin 9152 -> 9171 bytes ....common.prepare_batch_from_records.doctree | Bin 10023 -> 10042 bytes ...inergym.utils.common.ranges_getter.doctree | Bin 14801 -> 14820 bytes .../sinergym.utils.common.to_idf.doctree | Bin 7723 -> 7742 bytes ...nergym.utils.common.unwrap_wrapper.doctree | Bin 8727 -> 8746 bytes .../sinergym.utils.config.Config.doctree | Bin 86875 -> 92225 bytes .../modules/sinergym.utils.config.doctree | Bin 6073 -> 5814 bytes .../modules/sinergym.utils.constants.doctree | Bin 3357 -> 3101 bytes ...inergym.utils.controllers.RBC5Zone.doctree | Bin 17045 -> 17076 bytes ...ym.utils.controllers.RBCDatacenter.doctree | Bin 15310 -> 15341 bytes ...utils.controllers.RandomController.doctree | Bin 14420 -> 14451 bytes .../sinergym.utils.controllers.doctree | Bin 7515 -> 7242 bytes .../pages/modules/sinergym.utils.doctree | Bin 17964 -> 17712 bytes ...nergym.utils.env_checker.check_env.doctree | Bin 10749 -> 10768 bytes .../sinergym.utils.env_checker.doctree | Bin 6209 -> 5936 bytes .../modules/sinergym.utils.evaluation.doctree | Bin 5914 -> 5651 bytes ...m.utils.evaluation.evaluate_policy.doctree | Bin 17241 -> 17260 bytes ...delete_instance_MIG_from_container.doctree | Bin 9242 -> 9261 bytes .../modules/sinergym.utils.gcloud.doctree | Bin 11583 -> 11324 bytes ...s.gcloud.get_service_account_token.doctree | Bin 5815 -> 5834 bytes ...m.utils.gcloud.init_storage_client.doctree | Bin 5680 -> 5699 bytes ...rgym.utils.gcloud.read_from_bucket.doctree | Bin 6685 -> 6704 bytes ...rgym.utils.gcloud.upload_to_bucket.doctree | Bin 10393 -> 10412 bytes .../sinergym.utils.logger.CSVLogger.doctree | Bin 70764 -> 70825 bytes .../sinergym.utils.logger.Logger.doctree | Bin 14491 -> 14522 bytes .../modules/sinergym.utils.logger.doctree | Bin 6914 -> 6655 bytes .../sinergym.utils.rewards.BaseReward.doctree | Bin 8718 -> 8743 bytes .../sinergym.utils.rewards.ExpReward.doctree | Bin 46307 -> 46332 bytes ...m.utils.rewards.HourlyLinearReward.doctree | Bin 49693 -> 49718 bytes ...inergym.utils.rewards.LinearReward.doctree | Bin 46393 -> 46418 bytes .../modules/sinergym.utils.rewards.doctree | Bin 8732 -> 8463 bytes ...ergym.utils.wrappers.LoggerWrapper.doctree | Bin 52806 -> 52861 bytes ...gym.utils.wrappers.MultiObsWrapper.doctree | Bin 46114 -> 46151 bytes ...tils.wrappers.NormalizeObservation.doctree | Bin 44455 -> 44492 bytes .../modules/sinergym.utils.wrappers.doctree | Bin 7713 -> 7443 bytes .../pages/notebooks/basic_example.doctree | Bin 51921 -> 57798 bytes .../notebooks/change_environment.doctree | Bin 91373 -> 321660 bytes docs/compilation/html/_sources/index.rst.txt | 1 - .../html/_sources/pages/environments.rst.txt | 95 +-- .../html/_sources/pages/introduction.rst.txt | 19 +- .../sinergym.envs.eplus_env.EplusEnv.rst.txt | 3 +- .../sinergym.utils.config.Config.rst.txt | 1 + docs/compilation/html/genindex.html | 15 +- docs/compilation/html/index.html | 19 +- docs/compilation/html/objects.inv | Bin 11290 -> 11126 bytes .../compilation/html/pages/API-reference.html | 1 - docs/compilation/html/pages/controllers.html | 1 - .../pages/deep-reinforcement-learning.html | 1 - docs/compilation/html/pages/environments.html | 101 ++- .../html/pages/extra-configuration.html | 1 - docs/compilation/html/pages/gcloudAPI.html | 1 - .../html/pages/github-actions.html | 1 - docs/compilation/html/pages/installation.html | 1 - docs/compilation/html/pages/introduction.html | 19 +- .../sinergym.envs.eplus_env.EplusEnv.html | 36 +- .../modules/sinergym.envs.eplus_env.html | 7 +- .../html/pages/modules/sinergym.envs.html | 7 +- ...inergym.simulators.base.BaseSimulator.html | 1 - .../modules/sinergym.simulators.base.html | 7 +- .../sinergym.simulators.eplus.EnergyPlus.html | 1 - .../modules/sinergym.simulators.eplus.html | 7 +- ...gym.simulators.eplus_alpha.EnergyPlus.html | 1 - .../sinergym.simulators.eplus_alpha.html | 7 +- .../pages/modules/sinergym.simulators.html | 7 +- ...nergym.utils.callbacks.LoggerCallback.html | 1 - ...ym.utils.callbacks.LoggerEvalCallback.html | 1 - .../modules/sinergym.utils.callbacks.html | 7 +- ....utils.common.create_variable_weather.html | 1 - ...tils.common.export_actuators_to_excel.html | 1 - ...ym.utils.common.get_current_time_info.html | 1 - ...nergym.utils.common.get_delta_seconds.html | 1 - ...sinergym.utils.common.get_record_keys.html | 1 - ...utils.common.get_season_comfort_range.html | 1 - .../pages/modules/sinergym.utils.common.html | 7 +- .../sinergym.utils.common.is_wrapped.html | 1 - ...sinergym.utils.common.parse_variables.html | 1 - ...ils.common.prepare_batch_from_records.html | 1 - .../sinergym.utils.common.ranges_getter.html | 1 - .../modules/sinergym.utils.common.to_idf.html | 1 - .../sinergym.utils.common.unwrap_wrapper.html | 1 - .../modules/sinergym.utils.config.Config.html | 32 +- .../pages/modules/sinergym.utils.config.html | 7 +- .../modules/sinergym.utils.constants.html | 7 +- .../sinergym.utils.controllers.RBC5Zone.html | 1 - ...ergym.utils.controllers.RBCDatacenter.html | 1 - ...ym.utils.controllers.RandomController.html | 1 - .../modules/sinergym.utils.controllers.html | 7 +- .../sinergym.utils.env_checker.check_env.html | 1 - .../modules/sinergym.utils.env_checker.html | 7 +- ...rgym.utils.evaluation.evaluate_policy.html | 1 - .../modules/sinergym.utils.evaluation.html | 7 +- ...ud.delete_instance_MIG_from_container.html | 1 - ...tils.gcloud.get_service_account_token.html | 1 - .../pages/modules/sinergym.utils.gcloud.html | 7 +- ...rgym.utils.gcloud.init_storage_client.html | 1 - ...inergym.utils.gcloud.read_from_bucket.html | 1 - ...inergym.utils.gcloud.upload_to_bucket.html | 1 - .../html/pages/modules/sinergym.utils.html | 7 +- .../sinergym.utils.logger.CSVLogger.html | 1 - .../modules/sinergym.utils.logger.Logger.html | 1 - .../pages/modules/sinergym.utils.logger.html | 7 +- .../sinergym.utils.rewards.BaseReward.html | 1 - .../sinergym.utils.rewards.ExpReward.html | 1 - ...rgym.utils.rewards.HourlyLinearReward.html | 1 - .../sinergym.utils.rewards.LinearReward.html | 1 - .../pages/modules/sinergym.utils.rewards.html | 7 +- ...sinergym.utils.wrappers.LoggerWrapper.html | 1 - ...nergym.utils.wrappers.MultiObsWrapper.html | 1 - ...m.utils.wrappers.NormalizeObservation.html | 1 - .../modules/sinergym.utils.wrappers.html | 7 +- .../html/pages/notebooks/MLflow_example.html | 1 - .../pages/notebooks/TensorBoard_example.html | 1 - .../html/pages/notebooks/basic_example.html | 62 +- .../html/pages/notebooks/basic_example.ipynb | 71 +- .../pages/notebooks/change_environment.html | 581 +++++++++++++--- .../pages/notebooks/change_environment.ipynb | 637 +++++++++++++++--- .../compilation/html/pages/notebooks/drl.html | 1 - .../notebooks/personalize_loggerwrapper.html | 1 - .../notebooks/rule_controller_example.html | 1 - .../pages/notebooks/wrappers_examples.html | 5 +- docs/compilation/html/pages/output.html | 1 - docs/compilation/html/pages/rewards.html | 1 - docs/compilation/html/pages/tests.html | 1 - .../compilation/html/pages/usage-example.html | 1 - docs/compilation/html/pages/wrappers.html | 1 - docs/compilation/html/py-modindex.html | 1 - docs/compilation/html/search.html | 1 - docs/compilation/html/searchindex.js | 2 +- .../spelling/pages/environments.spelling | 2 +- .../sinergym.envs.eplus_env.EplusEnv.spelling | 2 +- 157 files changed, 1926 insertions(+), 666 deletions(-) diff --git a/docs/compilation/doctrees/environment.pickle b/docs/compilation/doctrees/environment.pickle index c617e8b0174e4c345969a99592ba1f9cc52cddad..efce10743410fc0b19e6317ee05a840fa2f6f1a9 100644 GIT binary patch literal 276317 zcmdSC37i~9bvV4XWgV;gzHDpcwGPXkS)INQNh`^hBn!*ffY%=P&h+j~Yc5aEthAN| z7y{VPfC+=aU~DkKgakrDI1CPl!<7&S1k4Qq!Vw7h!;cVd2;X~E)m7bH-P2XwyCZ!j z*->{_zj}AQdiARM`DeanTHk4X_@A@LZj{QkV>z=nUT)TFRkPOWI16^S%a!6@&#hN? z&cC;FqO;LC!)P=*2c7<6z0hi!X0hDtI9Cpq>Q!^F*{;>h=HStK^T?oGhJTJtRK-8w z1$(eiuQtjRqgAfg1{nmq<4m`k1p;VL8IWCXHwz}bTBz4X%VQm9E~CS}o<2k$aKvZT z$IWK5Tr_Q$=MCFQYqJfuH1Ep zCR(L>4Q`>F0NY%-LGI+Cu?;=uOXaar1^&N9UYJ=Mp-q7&?mzPY>qy6RW;B|03;OLi zGhG37oLPl>W1@-gcbr{YH*ei?VdnZ==K6B=V{fmScaw{2KKA!j{O5sO=0F`_85d@D z!9R_fWsDmI!zPzQMzv7~o=gYoN_9|+E26c9}RZy>`zNh#w*E$A#>Mymbm3*sYVxt9=-}z>%$ZwJ7b_+DUz_FZ> zr#GP2dE|M)wn<;8dCpwWH2QiD?t_lL7~0Ju?JD)LddFG8ULVBEtPPqxVl;CNRFXNQ z*{CsI2A$}XE^!u-8w9_6y@7g0w0^bSngE5V8RPkqX%x+7e#9so8Ee+twPMGaF<@L; z*fL^vY-cWcpY=grJ$=(AVjuIyD)kYg(yAA7*rwymYns%cZFXZmwM|qxw~1{U%|dCU zevIBQZD%Q0O`}q&AI*bl)|)m+cL9H39y1GVkhpVZ%>>hho>1t=@@56Nj=}>op4n)c zMs=iOcAoWLOZ)oz*JZA6gLRnA%)xrg9I4ljWD517nJIvb;a?T#qkp()j)He0SI6Dn z%C!^6uf6%e{u9TyZN7Nl(3TV7&Fbxz+iv&19lN*fiD;L_Ub7=(ZsUDB@PFMKgZi0G z_l3Qi@qbY-*ez(v+wR-92mU(&#P2$I_&P>rX0+bS0J@EKD`SJFHmY{Us1-Aojqymjxbhho?zIA($SkWvC#sp5(benIzWb4qjivrk_=1sHcHrjjf zj-efwL^KLQ+`V<{?rlM-5Qt+i3UT3W-n?t;jv(7avmn&Xn=jtJ_2MuTCO~28M_p9+ z?Ad+M*4@$Vf^c_ly?D=-tzqp)Ds91~&6n)k7YY?y1z~R9e9?}fU12b*26)Go!I9l^ z(dMD;T^a@<@7la=%cY^xDohxhwE*;@p-^#Qt02s+J1*IG$-Xcoj+V+T&Vr#GLtA!- z;!2tYq3+tU>!RJEd-sbBADH!cy836?5RzGv(3DSkr(Ap+mQH2DaHCX&zv|_@)PSQkbNkqp*qBjwc>FZ zq_~5^H;P4w(yEQt@J@(xS`!>dxoNi&LZZ^X#cYm1KvLZap)tgYZPRvPA1D{&AV+{G zGEItxz2AsOI}*5H!2z%yf+KLyRj`s>zT3aUh-WwZsP-Ieu~Tg+qpqEfDwTjWmD7#lN-Bs5;vf8zLX!)Ok-Yp5K< zJ6$lNM#VOV&00|)2)>5edL7JynmQ;Bmok+u+zDuyPx!}&%cE%Z@>|0ubV$wP2n4sp zXi(LM`4!j|eU5>>3_!e_9R}-l6_}$%0A+`Z4f&DxRc67gHC_=cY8Y6XO_#IujnOjj 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 Bva0|9 literal 277409 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 IG%Kv9f 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 IW@zC50}mC2>i_@% diff --git a/docs/compilation/doctrees/index.doctree b/docs/compilation/doctrees/index.doctree index 581388a5f88db63490223d1e46a2b63185719120..d0c9b95ee19a1a682aa4201621249038393b2b91 100644 GIT binary patch delta 4818 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 ZRND1SmJLJ{1{Wma-X`0M%gu|{{Q;V*_K*Mo diff --git a/docs/compilation/doctrees/nbsphinx/pages/notebooks/basic_example.ipynb b/docs/compilation/doctrees/nbsphinx/pages/notebooks/basic_example.ipynb index 12a92fc53e..1408148efd 100644 --- a/docs/compilation/doctrees/nbsphinx/pages/notebooks/basic_example.ipynb +++ b/docs/compilation/doctrees/nbsphinx/pages/notebooks/basic_example.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "collapsed": false, "pycharm": { @@ -38,12 +38,16 @@ "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", - " logger.warn(\n", - "[2022-08-24 08:52:56,398] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", - "[2022-08-24 08:52:56,399] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", - "[2022-08-24 08:52:56,401] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", - "[2022-08-24 08:52:56,403] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n" + "[2022-10-03 10:34:41,697] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 10:34:41,697] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 10:34:41,699] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 10:34:41,699] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 10:34:41,700] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 10:34:41,700] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 10:34:41,702] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 10:34:41,702] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 10:34:41,703] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 10:34:41,703] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n" ] } ], @@ -72,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": { "collapsed": false, "pycharm": { @@ -85,27 +89,29 @@ "name": "stderr", "output_type": "stream", "text": [ - "[2022-08-24 08:52:56,478] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", - "[2022-08-24 08:52:56,492] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-demo-v1-res1/Eplus-env-sub_run1\n" + "[2022-10-03 10:34:44,176] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 10:34:44,176] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 10:34:44,184] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-demo-v1-res3/Eplus-env-sub_run1\n", + "[2022-10-03 10:34:44,184] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-demo-v1-res3/Eplus-env-sub_run1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Reward: -0.3808358083250144 {'timestep': 1, 'time_elapsed': 900, 'year': 1991, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 7616.716166500288, 'total_power_no_units': -0.7616716166500288, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.99998783039325], 'out_temperature': 1.8, 'action_': [21, 21]}\n", - "Reward: -1907.7277939767475 {'timestep': 2976, 'time_elapsed': 2678400, 'year': 1991, 'month': 2, 'day': 1, 'hour': 0, 'total_power': 6074.240017973336, 'total_power_no_units': -0.6074240017973336, 'comfort_penalty': -3.1192635601846987, 'abs_comfort': 3.1192635601846987, 'temperatures': [16.8807364398153], 'out_temperature': -7.0, 'action_': [16, 29]}\n", - "Reward: -3585.4934187414906 {'timestep': 5664, 'time_elapsed': 5097600, 'year': 1991, 'month': 3, 'day': 1, 'hour': 0, 'total_power': 913.1570850309641, 'total_power_no_units': -0.09131570850309642, 'comfort_penalty': -0.7021712738831916, 'abs_comfort': 0.7021712738831916, 'temperatures': [19.29782872611681], 'out_temperature': 8.1, 'action_': [15, 30]}\n", - "Reward: -4752.940264075469 {'timestep': 8640, 'time_elapsed': 7776000, 'year': 1991, 'month': 4, 'day': 1, 'hour': 0, 'total_power': 2550.617218922648, 'total_power_no_units': -0.25506172189226484, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.99871397216555], 'out_temperature': 7.7, 'action_': [21, 24]}\n", - "Reward: -5560.830588831498 {'timestep': 11520, 'time_elapsed': 10368000, 'year': 1991, 'month': 5, 'day': 1, 'hour': 0, 'total_power': 1999.124803999265, 'total_power_no_units': -0.1999124803999265, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.98506510334393], 'out_temperature': 13.0, 'action_': [21, 21]}\n", - "Reward: -6284.020264489995 {'timestep': 14496, 'time_elapsed': 13046400, 'year': 1991, 'month': 6, 'day': 1, 'hour': 0, 'total_power': 410.8927633115007, 'total_power_no_units': -0.041089276331150074, 'comfort_penalty': -1.7705159780059887, 'abs_comfort': 1.7705159780059887, 'temperatures': [21.22948402199401], 'out_temperature': 18.4, 'action_': [21, 24]}\n", - "Reward: -9322.837829436405 {'timestep': 17376, 'time_elapsed': 15638400, 'year': 1991, 'month': 7, 'day': 1, 'hour': 0, 'total_power': 215.8190765300895, 'total_power_no_units': -0.02158190765300895, 'comfort_penalty': -1.608314422881719, 'abs_comfort': 1.608314422881719, 'temperatures': [21.39168557711828], 'out_temperature': 17.7, 'action_': [18, 27]}\n", - "Reward: -12636.627393394123 {'timestep': 20352, 'time_elapsed': 18316800, 'year': 1991, 'month': 8, 'day': 1, 'hour': 0, 'total_power': 5037.684551333462, 'total_power_no_units': -0.5037684551333462, 'comfort_penalty': -2.854158909419219, 'abs_comfort': 2.854158909419219, 'temperatures': [20.14584109058078], 'out_temperature': 20.6, 'action_': [20, 25]}\n", - "Reward: -15946.738203460833 {'timestep': 23328, 'time_elapsed': 20995200, 'year': 1991, 'month': 9, 'day': 1, 'hour': 0, 'total_power': 367.8874627648617, 'total_power_no_units': -0.03678874627648617, 'comfort_penalty': -2.54812468432662, 'abs_comfort': 2.54812468432662, 'temperatures': [20.45187531567338], 'out_temperature': 18.8, 'action_': [18, 27]}\n", - "Reward: -18806.826419277357 {'timestep': 26208, 'time_elapsed': 23587200, 'year': 1991, 'month': 10, 'day': 1, 'hour': 0, 'total_power': 186.5934720667916, 'total_power_no_units': -0.018659347206679163, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.33203794777814], 'out_temperature': 13.3, 'action_': [17, 28]}\n", - "Reward: -19743.85954501463 {'timestep': 29184, 'time_elapsed': 26265600, 'year': 1991, 'month': 11, 'day': 1, 'hour': 0, 'total_power': 186.5934720667916, 'total_power_no_units': -0.018659347206679163, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.71761367059368], 'out_temperature': 13.0, 'action_': [16, 29]}\n", - "Reward: -20805.360894738802 {'timestep': 32064, 'time_elapsed': 28857600, 'year': 1991, 'month': 12, 'day': 1, 'hour': 0, 'total_power': 5873.617289712576, 'total_power_no_units': -0.5873617289712576, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [21.42152536802113], 'out_temperature': 5.1, 'action_': [22, 22]}\n", - "Reward: -22566.62456817261 {'timestep': 35040, 'time_elapsed': 31536000, 'year': 1992, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 8311.608954955058, 'total_power_no_units': -0.8311608954955059, 'comfort_penalty': -1.823025839166501, 'abs_comfort': 1.823025839166501, 'temperatures': [18.1769741608335], 'out_temperature': -12.0, 'action_': [18, 27]}\n" + "Reward: -0.5342786322651261 {'timestep': 1, 'time_elapsed': 900, 'year': 1991, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 10685.57264530252, 'total_power_no_units': -1.0685572645302521, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.07553516208551], 'out_temperature': 1.8, 'action_': [20, 25]}\n", + "Reward: -2096.650684004998 {'timestep': 2976, 'time_elapsed': 2678400, 'year': 1991, 'month': 2, 'day': 1, 'hour': 0, 'total_power': 22381.61729417214, 'total_power_no_units': -2.2381617294172145, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.38054356822621], 'out_temperature': -7.0, 'action_': [22, 22]}\n", + "Reward: -4129.51464935589 {'timestep': 5664, 'time_elapsed': 5097600, 'year': 1991, 'month': 3, 'day': 1, 'hour': 0, 'total_power': 15385.40872994788, 'total_power_no_units': -1.538540872994788, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [21.7609838426557], 'out_temperature': 8.1, 'action_': [22, 23]}\n", + "Reward: -5456.861170390168 {'timestep': 8640, 'time_elapsed': 7776000, 'year': 1991, 'month': 4, 'day': 1, 'hour': 0, 'total_power': 152.4868953414246, 'total_power_no_units': -0.01524868953414246, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.36175169264276], 'out_temperature': 7.7, 'action_': [19, 26]}\n", + "Reward: -6369.63107682455 {'timestep': 11520, 'time_elapsed': 10368000, 'year': 1991, 'month': 5, 'day': 1, 'hour': 0, 'total_power': 11452.77842481337, 'total_power_no_units': -1.145277842481337, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [21.92062373146303], 'out_temperature': 13.0, 'action_': [22, 22]}\n", + "Reward: -7206.697072691755 {'timestep': 14496, 'time_elapsed': 13046400, 'year': 1991, 'month': 6, 'day': 1, 'hour': 0, 'total_power': 7167.389297121867, 'total_power_no_units': -0.7167389297121867, 'comfort_penalty': -1.0051047272114815, 'abs_comfort': 1.0051047272114815, 'temperatures': [21.99489527278852], 'out_temperature': 18.4, 'action_': [22, 22]}\n", + "Reward: -10140.504682784309 {'timestep': 17376, 'time_elapsed': 15638400, 'year': 1991, 'month': 7, 'day': 1, 'hour': 0, 'total_power': 175.7866568476675, 'total_power_no_units': -0.01757866568476675, 'comfort_penalty': -1.5118073073826288, 'abs_comfort': 1.5118073073826288, 'temperatures': [21.48819269261737], 'out_temperature': 17.7, 'action_': [17, 28]}\n", + "Reward: -13387.708048636228 {'timestep': 20352, 'time_elapsed': 18316800, 'year': 1991, 'month': 8, 'day': 1, 'hour': 0, 'total_power': 20512.72746048218, 'total_power_no_units': -2.051272746048218, 'comfort_penalty': -1.2097303255916003, 'abs_comfort': 1.2097303255916003, 'temperatures': [21.7902696744084], 'out_temperature': 20.6, 'action_': [22, 23]}\n", + "Reward: -16617.56445110482 {'timestep': 23328, 'time_elapsed': 20995200, 'year': 1991, 'month': 9, 'day': 1, 'hour': 0, 'total_power': 1549.646030459042, 'total_power_no_units': -0.1549646030459042, 'comfort_penalty': -2.001432470832661, 'abs_comfort': 2.001432470832661, 'temperatures': [20.99856752916734], 'out_temperature': 18.8, 'action_': [21, 24]}\n", + "Reward: -19436.64949597934 {'timestep': 26208, 'time_elapsed': 23587200, 'year': 1991, 'month': 10, 'day': 1, 'hour': 0, 'total_power': 152.4868953414246, 'total_power_no_units': -0.01524868953414246, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.46027669892315], 'out_temperature': 13.3, 'action_': [17, 28]}\n", + "Reward: -20485.674588514717 {'timestep': 29184, 'time_elapsed': 26265600, 'year': 1991, 'month': 11, 'day': 1, 'hour': 0, 'total_power': 11070.55398785253, 'total_power_no_units': -1.1070553987852532, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [21.89205415771582], 'out_temperature': 13.0, 'action_': [22, 22]}\n", + "Reward: -21651.044604241863 {'timestep': 32064, 'time_elapsed': 28857600, 'year': 1991, 'month': 12, 'day': 1, 'hour': 0, 'total_power': 12804.88321134125, 'total_power_no_units': -1.2804883211341251, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [21.89708886598514], 'out_temperature': 5.1, 'action_': [22, 23]}\n", + "Reward: -23670.083608180244 {'timestep': 35040, 'time_elapsed': 31536000, 'year': 1992, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 5021.427115579548, 'total_power_no_units': -0.5021427115579548, 'comfort_penalty': -1.7835436138003509, 'abs_comfort': 1.7835436138003509, 'temperatures': [18.21645638619965], 'out_temperature': -12.0, 'action_': [15, 30]}\n" ] } ], @@ -138,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": { "collapsed": false, "pycharm": { @@ -150,7 +156,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "[2022-08-24 08:53:06,644] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n" + "[2022-10-03 10:34:57,801] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n", + "[2022-10-03 10:34:57,801] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n" ] } ], @@ -172,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": { "collapsed": false, "pycharm": { @@ -184,7 +191,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mean reward: -0.6440246737491857 Cumulative reward: -22566.62456817261\n" + "Mean reward: -0.6755160847083577 Cumulative reward: -23670.083608180244\n" ] } ], @@ -205,11 +212,8 @@ } ], "metadata": { - "interpreter": { - "hash": "767d51c1340bd893661ea55ea3124f6de3c7a262a8b4abca0554b478b1e2ff90" - }, "kernelspec": { - "display_name": "Python 3.9.11 64-bit", + "display_name": "Python 3.10.4 64-bit", "language": "python", "name": "python3" }, @@ -224,6 +228,11 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.4" + }, + "vscode": { + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } } }, "nbformat": 4, diff --git a/docs/compilation/doctrees/nbsphinx/pages/notebooks/change_environment.ipynb b/docs/compilation/doctrees/nbsphinx/pages/notebooks/change_environment.ipynb index 965b21c571..0dc9a010d0 100644 --- a/docs/compilation/doctrees/nbsphinx/pages/notebooks/change_environment.ipynb +++ b/docs/compilation/doctrees/nbsphinx/pages/notebooks/change_environment.ipynb @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 9, "metadata": { "collapsed": false, "pycharm": { @@ -36,12 +36,16 @@ "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", - " logger.warn(\n", - "[2022-08-24 08:55:54,216] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", - "[2022-08-24 08:55:54,217] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", - "[2022-08-24 08:55:54,219] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", - "[2022-08-24 08:55:54,220] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:11,813] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:06:11,813] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:06:11,814] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:06:11,814] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:06:11,816] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:06:11,816] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:06:11,818] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:11,818] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:11,818] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:06:11,818] EPLUS_ENV_5Zone-hot-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", " logger.warn(\n" ] @@ -84,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 10, "metadata": { "collapsed": false, "pycharm": { @@ -97,10 +101,16 @@ "name": "stderr", "output_type": "stream", "text": [ - "[2022-08-24 08:55:55,088] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", - "[2022-08-24 08:55:55,089] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", - "[2022-08-24 08:55:55,091] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", - "[2022-08-24 08:55:55,093] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:15,333] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:06:15,333] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:06:15,334] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:06:15,334] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:06:15,336] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:06:15,336] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:06:15,337] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:15,337] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:15,338] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:06:15,338] EPLUS_ENV_5Zone-hot-continuous-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", " logger.warn(\n" ] @@ -145,24 +155,30 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "[2022-08-24 08:55:56,077] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", - "[2022-08-24 08:55:56,078] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", - "[2022-08-24 08:55:56,080] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", - "[2022-08-24 08:55:56,082] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:19,050] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:06:19,050] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:06:19,052] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:06:19,052] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:06:19,054] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:06:19,054] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:06:19,056] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:19,056] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:06:19,057] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:06:19,057] EPLUS_ENV_new_env_name_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", " logger.warn(\n" ] } ], "source": [ - "env = gym.make('Eplus-datacenter-cool-continuous-stochastic-v1', \n", + "env = gym.make('Eplus-5Zone-cool-continuous-stochastic-v1', \n", " weather_file='ESP_Granada.084190_SWEC.epw',\n", " weather_variability=(1.0,0.0,0.001),\n", " env_name='new_env_name',\n", @@ -189,46 +205,71 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "[2022-08-24 08:55:56,850] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", - "[2022-08-24 08:55:56,850] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", - "[2022-08-24 08:55:56,852] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", - "[2022-08-24 08:55:56,853] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", - "[2022-08-24 08:55:56,854] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", - "[2022-08-24 08:55:56,989] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-datacenter-cool-discrete-stochastic-v1-res1/Eplus-env-sub_run1\n" + "[2022-10-03 11:07:47,922] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:07:47,922] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:07:47,922] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:07:47,922] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:07:47,924] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:07:47,924] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:07:47,924] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:07:47,924] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:07:47,926] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:07:47,926] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:07:47,926] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:07:47,926] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:07:47,928] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:07:47,928] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:07:47,928] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:07:47,928] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:07:47,929] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:07:47,929] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:07:47,929] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:07:47,929] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:07:47,931] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 11:07:47,931] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 11:07:47,931] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 11:07:47,931] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 11:07:48,064] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-datacenter-cool-discrete-stochastic-v1-res4/Eplus-env-sub_run1\n", + "[2022-10-03 11:07:48,064] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-datacenter-cool-discrete-stochastic-v1-res4/Eplus-env-sub_run1\n", + "[2022-10-03 11:07:48,064] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-datacenter-cool-discrete-stochastic-v1-res4/Eplus-env-sub_run1\n", + "[2022-10-03 11:07:48,064] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-datacenter-cool-discrete-stochastic-v1-res4/Eplus-env-sub_run1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Reward: -0.18562950733969957 {'timestep': 1, 'time_elapsed': 900, 'year': 1991, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 3712.590146793991, 'total_power_no_units': -0.37125901467939915, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 1.495266997755121, 'action_': [16, 29, 16, 29]}\n", - "Reward: -676.8466963812559 {'timestep': 2976, 'time_elapsed': 2678400, 'year': 1991, 'month': 2, 'day': 1, 'hour': 0, 'total_power': 3962.959903637626, 'total_power_no_units': -0.3962959903637626, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 6.479715547683856, 'action_': [21, 21, 21, 21]}\n", - "Reward: -1251.9649146249287 {'timestep': 5664, 'time_elapsed': 5097600, 'year': 1991, 'month': 3, 'day': 1, 'hour': 0, 'total_power': 4984.806746157207, 'total_power_no_units': -0.49848067461572076, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 3.083224933271658, 'action_': [22, 23, 22, 23]}\n", - "Reward: -1856.1854810210355 {'timestep': 8640, 'time_elapsed': 7776000, 'year': 1991, 'month': 4, 'day': 1, 'hour': 0, 'total_power': 2542.049288786898, 'total_power_no_units': -0.25420492887868984, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 4.548597527242591, 'action_': [15, 30, 15, 30]}\n", - "Reward: -2639.3977262984713 {'timestep': 11520, 'time_elapsed': 10368000, 'year': 1991, 'month': 5, 'day': 1, 'hour': 0, 'total_power': 4389.048609776261, 'total_power_no_units': -0.43890486097762615, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 9.966961794846867, 'action_': [20, 25, 20, 25]}\n", - "Reward: -3540.0364337521905 {'timestep': 14496, 'time_elapsed': 13046400, 'year': 1991, 'month': 6, 'day': 1, 'hour': 0, 'total_power': 3962.959903637626, 'total_power_no_units': -0.3962959903637626, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 9.932837191979614, 'action_': [22, 23, 22, 23]}\n", - "Reward: -4966.8910724773705 {'timestep': 17376, 'time_elapsed': 15638400, 'year': 1991, 'month': 7, 'day': 1, 'hour': 0, 'total_power': 3641.533364330611, 'total_power_no_units': -0.36415333643306114, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 10.73759114382434, 'action_': [16, 29, 16, 29]}\n", - "Reward: -6970.456022185655 {'timestep': 20352, 'time_elapsed': 18316800, 'year': 1991, 'month': 8, 'day': 1, 'hour': 0, 'total_power': 7437.450634930504, 'total_power_no_units': -0.7437450634930505, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 12.01780444446879, 'action_': [21, 21, 21, 21]}\n", - "Reward: -9176.457187552995 {'timestep': 23328, 'time_elapsed': 20995200, 'year': 1991, 'month': 9, 'day': 1, 'hour': 0, 'total_power': 5205.826494047731, 'total_power_no_units': -0.5205826494047732, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 11.76682020349629, 'action_': [16, 29, 16, 29]}\n", - "Reward: -10831.128614483414 {'timestep': 26208, 'time_elapsed': 23587200, 'year': 1991, 'month': 10, 'day': 1, 'hour': 0, 'total_power': 3632.325833964732, 'total_power_no_units': -0.3632325833964732, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 7.408750045244985, 'action_': [16, 29, 16, 29]}\n", - "Reward: -11597.451824735388 {'timestep': 29184, 'time_elapsed': 26265600, 'year': 1991, 'month': 11, 'day': 1, 'hour': 0, 'total_power': 3545.041301484721, 'total_power_no_units': -0.3545041301484721, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 5.470256190305543, 'action_': [18, 27, 18, 27]}\n", - "Reward: -12205.38913036408 {'timestep': 32064, 'time_elapsed': 28857600, 'year': 1991, 'month': 12, 'day': 1, 'hour': 0, 'total_power': 4171.474946040738, 'total_power_no_units': -0.41714749460407385, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 4.252032348441579, 'action_': [22, 23, 22, 23]}\n", - "Reward: -12852.455174221925 {'timestep': 35040, 'time_elapsed': 31536000, 'year': 1992, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 5946.285403368743, 'total_power_no_units': -0.5946285403368743, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': -0.01419754187374211, 'action_': [21, 24, 21, 24]}\n", - "Episode 0 Mean reward: -0.36679381204974576 Cumulative reward: -12852.455174221925\n" + "Reward: -0.2153129771240179 {'timestep': 1, 'time_elapsed': 900, 'year': 1991, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 4306.259542480358, 'total_power_no_units': -0.4306259542480358, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 1.044000531676663, 'action_': [19, 26]}\n", + "Reward: -660.6448328594148 {'timestep': 2976, 'time_elapsed': 2678400, 'year': 1991, 'month': 2, 'day': 1, 'hour': 0, 'total_power': 4157.813830820063, 'total_power_no_units': -0.41578138308200635, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 8.755699132506065, 'action_': [18, 27]}\n", + "Reward: -1244.0392548144782 {'timestep': 5664, 'time_elapsed': 5097600, 'year': 1991, 'month': 3, 'day': 1, 'hour': 0, 'total_power': 4725.134398205902, 'total_power_no_units': -0.4725134398205902, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 3.388003680767862, 'action_': [20, 25]}\n", + "Reward: -1847.362623921392 {'timestep': 8640, 'time_elapsed': 7776000, 'year': 1991, 'month': 4, 'day': 1, 'hour': 0, 'total_power': 2049.570777765625, 'total_power_no_units': -0.2049570777765625, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 4.552775270130963, 'action_': [16, 29]}\n", + "Reward: -2618.1218338983613 {'timestep': 11520, 'time_elapsed': 10368000, 'year': 1991, 'month': 5, 'day': 1, 'hour': 0, 'total_power': 3959.276280160218, 'total_power_no_units': -0.3959276280160218, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 10.11681786642924, 'action_': [17, 28]}\n", + "Reward: -3518.8119994042654 {'timestep': 14496, 'time_elapsed': 13046400, 'year': 1991, 'month': 6, 'day': 1, 'hour': 0, 'total_power': 3962.959903637627, 'total_power_no_units': -0.39629599036376273, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 9.942164036459882, 'action_': [22, 23]}\n", + "Reward: -4987.145205583042 {'timestep': 17376, 'time_elapsed': 15638400, 'year': 1991, 'month': 7, 'day': 1, 'hour': 0, 'total_power': 2957.592219109529, 'total_power_no_units': -0.29575922191095294, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 9.949206675456736, 'action_': [18, 27]}\n", + "Reward: -7041.095957436299 {'timestep': 20352, 'time_elapsed': 18316800, 'year': 1991, 'month': 8, 'day': 1, 'hour': 0, 'total_power': 4484.510318043606, 'total_power_no_units': -0.44845103180436063, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 11.07359623673829, 'action_': [21, 24]}\n", + "Reward: -9296.59688572278 {'timestep': 23328, 'time_elapsed': 20995200, 'year': 1991, 'month': 9, 'day': 1, 'hour': 0, 'total_power': 4077.687654856706, 'total_power_no_units': -0.40776876548567065, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 11.79347434337422, 'action_': [22, 22]}\n", + "Reward: -10863.569765398093 {'timestep': 26208, 'time_elapsed': 23587200, 'year': 1991, 'month': 10, 'day': 1, 'hour': 0, 'total_power': 3962.959903637627, 'total_power_no_units': -0.39629599036376273, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 6.985007523418071, 'action_': [22, 22]}\n", + "Reward: -11617.7046973911 {'timestep': 29184, 'time_elapsed': 26265600, 'year': 1991, 'month': 11, 'day': 1, 'hour': 0, 'total_power': 3747.895494409444, 'total_power_no_units': -0.3747895494409444, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 4.43013838706209, 'action_': [18, 27]}\n", + "Reward: -12213.685087327127 {'timestep': 32064, 'time_elapsed': 28857600, 'year': 1991, 'month': 12, 'day': 1, 'hour': 0, 'total_power': 3962.959903637627, 'total_power_no_units': -0.39629599036376273, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': 4.866732045629226, 'action_': [22, 22]}\n", + "Reward: -12851.12643466358 {'timestep': 35040, 'time_elapsed': 31536000, 'year': 1992, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 6205.54217205275, 'total_power_no_units': -0.620554217205275, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [], 'out_temperature': -0.4835161520335998, 'action_': [21, 21]}\n", + "Episode 0 Mean reward: -0.36675589140025355 Cumulative reward: -12851.12643466358\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[2022-08-24 08:56:26,964] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n" + "[2022-10-03 11:08:18,405] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n", + "[2022-10-03 11:08:18,405] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n", + "[2022-10-03 11:08:18,405] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n", + "[2022-10-03 11:08:18,405] EPLUS_ENV_datacenter-cool-discrete-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n" ] } ], @@ -249,10 +290,8 @@ "]\n", "\n", "new_action_variables = [\n", - " 'West-HtgSetP-RL',\n", - " 'West-ClgSetP-RL',\n", - " 'East-HtgSetP-RL',\n", - " 'East-ClgSetP-RL'\n", + " 'Heating_Setpoint_RL',\n", + " 'Cooling_Setpoint_RL',\n", "]\n", "\n", "new_observation_space = gym.spaces.Box(\n", @@ -262,16 +301,16 @@ " dtype=np.float32)\n", "\n", "new_action_mapping = {\n", - " 0: (15, 30, 15, 30),\n", - " 1: (16, 29, 16, 29),\n", - " 2: (17, 28, 17, 28),\n", - " 3: (18, 27, 18, 27),\n", - " 4: (19, 26, 19, 26),\n", - " 5: (20, 25, 20, 25),\n", - " 6: (21, 24, 21, 24),\n", - " 7: (22, 23, 22, 23),\n", - " 8: (22, 22, 22, 22),\n", - " 9: (21, 21, 21, 21)\n", + " 0: (15, 30),\n", + " 1: (16, 29),\n", + " 2: (17, 28),\n", + " 3: (18, 27),\n", + " 4: (19, 26),\n", + " 5: (20, 25),\n", + " 6: (21, 24),\n", + " 7: (22, 23),\n", + " 8: (22, 22),\n", + " 9: (21, 21)\n", "}\n", "\n", "new_action_space = gym.spaces.Discrete(10)\n", @@ -313,7 +352,356 @@ "source": [ "In case the definition has some inconsistency, such as the *IDF* has not been \n", "adapted to the new actions, the spaces do not fit with the variables, the \n", - "observation variables do not exist, etc. Sinergym will display an error." + "observation variables do not exist, etc. *Sinergym* will display an error.\n", + "\n", + "**Action variables** defined must exists in IDF model like external interface.\n", + "Then, you have two possibilities: \n", + "\n", + "- First, you can modify IDF file directly, but it is necessary to update several \n", + " components depending in order to connect them to the external interface \n", + " (requires knowledge of the building and EnergyPlus).\n", + "- Second, you can use the **action definition** functionality of *Sinergym* (recommended).\n", + " This functionality will modify the IDF file before starting the simulation automatically \n", + " based on a simple definition of the components to be replaced by an external control.\n", + " See \"updating action definition\" example to learn how to use it.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting information about building model with Sinergym" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true, + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Sinergym can get the schedulers information automatically, in a Python dictionary and/or exporting that information in a excel file.\n", + "This information lets you know what things can be controlled by an external interface in the building.\n", + "The way to do it is very simple, just load the environment and call a method:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false, + "pycharm": { + "is_executing": true, + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2022-10-03 11:08:48,685] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:08:48,685] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:08:48,686] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:08:48,686] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:08:48,688] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:08:48,688] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:08:48,689] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:08:48,689] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:08:48,690] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:08:48,690] EPLUS_ENV_demo-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'activitysch': {'Type': 'any number'},\n", + " 'actschd': {'Object1': {'object_field_name': 'activity_level_schedule_name',\n", + " 'object_name': 'space1-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object2': {'object_field_name': 'activity_level_schedule_name',\n", + " 'object_name': 'space2-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object3': {'object_field_name': 'activity_level_schedule_name',\n", + " 'object_name': 'space3-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object4': {'object_field_name': 'activity_level_schedule_name',\n", + " 'object_name': 'space4-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object5': {'object_field_name': 'activity_level_schedule_name',\n", + " 'object_name': 'space5-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Type': 'any number'},\n", + " 'airvelocitysch': {'Object1': {'object_field_name': 'air_velocity_schedule_name',\n", + " 'object_name': 'space1-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object2': {'object_field_name': 'air_velocity_schedule_name',\n", + " 'object_name': 'space2-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object3': {'object_field_name': 'air_velocity_schedule_name',\n", + " 'object_name': 'space3-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object4': {'object_field_name': 'air_velocity_schedule_name',\n", + " 'object_name': 'space4-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object5': {'object_field_name': 'air_velocity_schedule_name',\n", + " 'object_name': 'space5-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Type': 'any number'},\n", + " 'basinheatersched': {'Object1': {'object_field_name': 'basin_heater_operating_schedule_name',\n", + " 'object_name': 'main cooling coil 1',\n", + " 'object_type': 'Coil:Cooling:DX:TwoSpeed'},\n", + " 'Type': 'on/off'},\n", + " 'clg-setp-sch': {'Object1': {'object_field_name': 'cooling_setpoint_temperature_schedule_name',\n", + " 'object_name': 'dualsetpoint',\n", + " 'object_type': 'ThermostatSetpoint:DualSetpoint'},\n", + " 'Object2': {'object_field_name': 'setpoint_temperature_schedule_name',\n", + " 'object_name': 'coolingsetpoint',\n", + " 'object_type': 'ThermostatSetpoint:SingleCooling'},\n", + " 'Type': 'temperature'},\n", + " 'clothingsch': {'Type': 'any number'},\n", + " 'coolingcoilavailsched': {'Object1': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'main cooling coil 1',\n", + " 'object_type': 'Coil:Cooling:DX:TwoSpeed'},\n", + " 'Object2': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'dx cooling coil system '\n", + " '1',\n", + " 'object_type': 'CoilSystem:Cooling:DX'},\n", + " 'Type': 'fraction'},\n", + " 'equip-1': {'Object1': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space1-1 eleceq 1',\n", + " 'object_type': 'ElectricEquipment'},\n", + " 'Object2': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space2-1 eleceq 1',\n", + " 'object_type': 'ElectricEquipment'},\n", + " 'Object3': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space3-1 eleceq 1',\n", + " 'object_type': 'ElectricEquipment'},\n", + " 'Object4': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space4-1 eleceq 1',\n", + " 'object_type': 'ElectricEquipment'},\n", + " 'Object5': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space5-1 eleceq 1',\n", + " 'object_type': 'ElectricEquipment'},\n", + " 'Type': 'fraction'},\n", + " 'fanavailsched': {'Object1': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'vav sys 1 avail',\n", + " 'object_type': 'AvailabilityManager:Scheduled'},\n", + " 'Object2': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'supply fan 1',\n", + " 'object_type': 'Fan:VariableVolume'},\n", + " 'Type': 'fraction'},\n", + " 'htg-setp-sch': {'Object1': {'object_field_name': 'heating_setpoint_temperature_schedule_name',\n", + " 'object_name': 'dualsetpoint',\n", + " 'object_type': 'ThermostatSetpoint:DualSetpoint'},\n", + " 'Object2': {'object_field_name': 'setpoint_temperature_schedule_name',\n", + " 'object_name': 'heatingsetpoint',\n", + " 'object_type': 'ThermostatSetpoint:SingleHeating'},\n", + " 'Type': 'temperature'},\n", + " 'infil-sch': {'Object1': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space1-1 infil 1',\n", + " 'object_type': 'ZoneInfiltration:DesignFlowRate'},\n", + " 'Object2': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space2-1 infil 1',\n", + " 'object_type': 'ZoneInfiltration:DesignFlowRate'},\n", + " 'Object3': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space3-1 infil 1',\n", + " 'object_type': 'ZoneInfiltration:DesignFlowRate'},\n", + " 'Object4': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space4-1 infil 1',\n", + " 'object_type': 'ZoneInfiltration:DesignFlowRate'},\n", + " 'Object5': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space5-1 infil 1',\n", + " 'object_type': 'ZoneInfiltration:DesignFlowRate'},\n", + " 'Type': 'fraction'},\n", + " 'lights-1': {'Object1': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space1-1 lights 1',\n", + " 'object_type': 'Lights'},\n", + " 'Object2': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space2-1 lights 1',\n", + " 'object_type': 'Lights'},\n", + " 'Object3': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space3-1 lights 1',\n", + " 'object_type': 'Lights'},\n", + " 'Object4': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space4-1 lights 1',\n", + " 'object_type': 'Lights'},\n", + " 'Object5': {'object_field_name': 'schedule_name',\n", + " 'object_name': 'space5-1 lights 1',\n", + " 'object_type': 'Lights'},\n", + " 'Type': 'fraction'},\n", + " 'min oa sched': {'Object1': {'object_field_name': 'minimum_outdoor_air_schedule_name',\n", + " 'object_name': 'oa controller 1',\n", + " 'object_type': 'Controller:OutdoorAir'},\n", + " 'Type': 'fraction'},\n", + " 'min oarequirements sched': {'Object1': {'object_field_name': 'outdoor_air_schedule_name',\n", + " 'object_name': 'zoneminoarequirements',\n", + " 'object_type': 'DesignSpecification:OutdoorAir'},\n", + " 'Type': 'any number'},\n", + " 'occupy-1': {'Object1': {'object_field_name': 'number_of_people_schedule_name',\n", + " 'object_name': 'space1-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object2': {'object_field_name': 'number_of_people_schedule_name',\n", + " 'object_name': 'space2-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object3': {'object_field_name': 'number_of_people_schedule_name',\n", + " 'object_name': 'space3-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object4': {'object_field_name': 'number_of_people_schedule_name',\n", + " 'object_name': 'space4-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object5': {'object_field_name': 'number_of_people_schedule_name',\n", + " 'object_name': 'space5-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Type': 'fraction'},\n", + " 'plenumclg-setp-sch': {'Object1': {'object_field_name': 'setpoint_temperature_schedule_name',\n", + " 'object_name': 'plenumcoolingsetpoint',\n", + " 'object_type': 'ThermostatSetpoint:SingleCooling'},\n", + " 'Type': 'temperature'},\n", + " 'plenumhtg-setp-sch': {'Object1': {'object_field_name': 'setpoint_temperature_schedule_name',\n", + " 'object_name': 'plenumheatingsetpoint',\n", + " 'object_type': 'ThermostatSetpoint:SingleHeating'},\n", + " 'Type': 'temperature'},\n", + " 'reheatcoilavailsched': {'Object1': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space1-1 vav reheat',\n", + " 'object_type': 'AirTerminal:SingleDuct:VAV:Reheat'},\n", + " 'Object10': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space5-1 zone coil',\n", + " 'object_type': 'Coil:Heating:Electric'},\n", + " 'Object11': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'main heating coil 1',\n", + " 'object_type': 'Coil:Heating:Electric'},\n", + " 'Object2': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space2-1 vav reheat',\n", + " 'object_type': 'AirTerminal:SingleDuct:VAV:Reheat'},\n", + " 'Object3': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space3-1 vav reheat',\n", + " 'object_type': 'AirTerminal:SingleDuct:VAV:Reheat'},\n", + " 'Object4': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space4-1 vav reheat',\n", + " 'object_type': 'AirTerminal:SingleDuct:VAV:Reheat'},\n", + " 'Object5': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space5-1 vav reheat',\n", + " 'object_type': 'AirTerminal:SingleDuct:VAV:Reheat'},\n", + " 'Object6': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space1-1 zone coil',\n", + " 'object_type': 'Coil:Heating:Electric'},\n", + " 'Object7': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space2-1 zone coil',\n", + " 'object_type': 'Coil:Heating:Electric'},\n", + " 'Object8': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space3-1 zone coil',\n", + " 'object_type': 'Coil:Heating:Electric'},\n", + " 'Object9': {'object_field_name': 'availability_schedule_name',\n", + " 'object_name': 'space4-1 zone coil',\n", + " 'object_type': 'Coil:Heating:Electric'},\n", + " 'Type': 'fraction'},\n", + " 'seasonal reset supply air temp sch': {'Type': 'temperature'},\n", + " 'shadetranssch': {'Object1': {'object_field_name': 'transmittance_schedule_name',\n", + " 'object_name': 'main south overhang',\n", + " 'object_type': 'Shading:Zone:Detailed'},\n", + " 'Object2': {'object_field_name': 'transmittance_schedule_name',\n", + " 'object_name': 'south door overhang',\n", + " 'object_type': 'Shading:Zone:Detailed'},\n", + " 'Type': 'fraction'},\n", + " 'workeffsch': {'Object1': {'object_field_name': 'work_efficiency_schedule_name',\n", + " 'object_name': 'space1-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object2': {'object_field_name': 'work_efficiency_schedule_name',\n", + " 'object_name': 'space2-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object3': {'object_field_name': 'work_efficiency_schedule_name',\n", + " 'object_name': 'space3-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object4': {'object_field_name': 'work_efficiency_schedule_name',\n", + " 'object_name': 'space4-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Object5': {'object_field_name': 'work_efficiency_schedule_name',\n", + " 'object_name': 'space5-1 people 1',\n", + " 'object_type': 'People'},\n", + " 'Type': 'fraction'},\n", + " 'zone control type sched': {'Object1': {'object_field_name': 'control_type_schedule_name',\n", + " 'object_name': 'space1-1 control',\n", + " 'object_type': 'ZoneControl:Thermostat'},\n", + " 'Object2': {'object_field_name': 'control_type_schedule_name',\n", + " 'object_name': 'space2-1 control',\n", + " 'object_type': 'ZoneControl:Thermostat'},\n", + " 'Object3': {'object_field_name': 'control_type_schedule_name',\n", + " 'object_name': 'space3-1 control',\n", + " 'object_type': 'ZoneControl:Thermostat'},\n", + " 'Object4': {'object_field_name': 'control_type_schedule_name',\n", + " 'object_name': 'space4-1 control',\n", + " 'object_type': 'ZoneControl:Thermostat'},\n", + " 'Object5': {'object_field_name': 'control_type_schedule_name',\n", + " 'object_name': 'space5-1 control',\n", + " 'object_type': 'ZoneControl:Thermostat'},\n", + " 'Type': 'control type'}}\n" + ] + } + ], + "source": [ + "import gym\n", + "import sinergym\n", + "\n", + "from pprint import pprint\n", + "\n", + "env = gym.make('Eplus-demo-v1')\n", + "schedulers=env.get_schedulers()\n", + "pprint(schedulers)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "The way to export an excel file with such organized information is by specifying a path to the method:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false, + "pycharm": { + "is_executing": true, + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "actuators=env.get_schedulers(path='./example.xlsx')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is possible to know the zones available in the environment too. You only have to do the next:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['plenum-1', 'space1-1', 'space2-1', 'space3-1', 'space4-1', 'space5-1']\n" + ] + } + ], + "source": [ + "print(env.get_zones())" ] }, { @@ -327,49 +715,111 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "As we have explained in the previous example, one of the problems that can arise when \n", + "As we have explained in the action and observation space example, one of the problems that can arise when \n", "modifying the space of actions and observations is that the *IDF* is not adapted to the \n", "new space of actions established.\n", "\n", - "We may even want to modify the effects of actions on the building directly for some kind \n", - "of interest without being subject to a change of the action space. For example, we may \n", - "want to change the zones assigned to each thermostat or change their value at the start \n", - "of the simulation.\n", - "\n", "For this purpose, the *Sinergym* **action definition** is available. With a dictionary we can \n", - "build a definition of what we want to be controlled in the building and how to control \n", - "it using the action space of the environment:" + "build a definition of what scheduler we want to be replaced in the building by the external control.\n", + "\n", + "For this example, we are going to add lights control to the external interface for the agent.\n", + "Then, is not only necessary to update that **action definition**, the list of the action\n", + "variables and space is necessary to be updated too." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", + " logger.warn(\n", + "[2022-10-03 11:09:11,535] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:09:11,535] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:09:11,535] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:09:11,537] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:09:11,537] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:09:11,537] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:09:11,539] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:09:11,539] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:09:11,539] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:09:11,541] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:09:11,541] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:09:11,541] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:09:11,541] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:09:11,541] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "[2022-10-03 11:09:11,541] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", + " logger.warn(\n", + "[2022-10-03 11:09:11,543] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 11:09:11,543] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 11:09:11,543] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Creating new EnergyPlus simulation episode...\n", + "[2022-10-03 11:09:11,685] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-5Zone-cool-continuous-stochastic-v1-res3/Eplus-env-sub_run1\n", + "[2022-10-03 11:09:11,685] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-5Zone-cool-continuous-stochastic-v1-res3/Eplus-env-sub_run1\n", + "[2022-10-03 11:09:11,685] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:EnergyPlus working directory is in /workspaces/sinergym/examples/Eplus-env-5Zone-cool-continuous-stochastic-v1-res3/Eplus-env-sub_run1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reward: -0.4534218472503313 {'timestep': 1, 'time_elapsed': 900, 'year': 1991, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 2877.012363757218, 'total_power_no_units': -0.2877012363757218, 'comfort_penalty': -0.6191424581249407, 'abs_comfort': 0.6191424581249407, 'temperatures': [19.38085754187506], 'out_temperature': 2.365503840332209, 'action_': [17.785645, 29.71652, 0.22971705]}\n", + "Reward: -1357.8271189188051 {'timestep': 2976, 'time_elapsed': 2678400, 'year': 1991, 'month': 2, 'day': 1, 'hour': 0, 'total_power': 11100.46077251977, 'total_power_no_units': -1.110046077251977, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [21.21328190545486], 'out_temperature': 8.522913717556069, 'action_': [22.275938, 25.327274, 0.4951168]}\n", + "Reward: -2677.3228805407884 {'timestep': 5664, 'time_elapsed': 5097600, 'year': 1991, 'month': 3, 'day': 1, 'hour': 0, 'total_power': 701.0042651760367, 'total_power_no_units': -0.07010042651760368, 'comfort_penalty': -0.9436218379550496, 'abs_comfort': 0.9436218379550496, 'temperatures': [19.05637816204495], 'out_temperature': 5.40854483151097, 'action_': [17.999592, 24.87681, 0.37235415]}\n", + "Reward: -3562.8096013573713 {'timestep': 8640, 'time_elapsed': 7776000, 'year': 1991, 'month': 4, 'day': 1, 'hour': 0, 'total_power': 3024.567675350499, 'total_power_no_units': -0.3024567675350499, 'comfort_penalty': -0.8064452618224003, 'abs_comfort': 0.8064452618224003, 'temperatures': [19.1935547381776], 'out_temperature': 3.431054112168333, 'action_': [17.694782, 24.154045, 0.0044727325]}\n", + "Reward: -4450.951932642561 {'timestep': 11520, 'time_elapsed': 10368000, 'year': 1991, 'month': 5, 'day': 1, 'hour': 0, 'total_power': 8207.782406117527, 'total_power_no_units': -0.8207782406117528, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [21.55825762211984], 'out_temperature': 9.197726971145151, 'action_': [21.769848, 26.523382, 0.999089]}\n", + "Reward: -5156.415876501385 {'timestep': 14496, 'time_elapsed': 13046400, 'year': 1991, 'month': 6, 'day': 1, 'hour': 0, 'total_power': 156.5268202959072, 'total_power_no_units': -0.015652682029590723, 'comfort_penalty': -2.0777900257891204, 'abs_comfort': 2.0777900257891204, 'temperatures': [20.92220997421088], 'out_temperature': 10.73331677835388, 'action_': [17.877337, 24.082777, 0.6383258]}\n", + "Reward: -6840.042123890393 {'timestep': 17376, 'time_elapsed': 15638400, 'year': 1991, 'month': 7, 'day': 1, 'hour': 0, 'total_power': 120.4056020773604, 'total_power_no_units': -0.01204056020773604, 'comfort_penalty': -1.9790344535710993, 'abs_comfort': 1.9790344535710993, 'temperatures': [21.0209655464289], 'out_temperature': 9.82478126302217, 'action_': [16.911224, 23.718214, 0.75081384]}\n", + "Reward: -8538.664312876315 {'timestep': 20352, 'time_elapsed': 18316800, 'year': 1991, 'month': 8, 'day': 1, 'hour': 0, 'total_power': 170.1233311699604, 'total_power_no_units': -0.017012333116996042, 'comfort_penalty': -2.59502313830032, 'abs_comfort': 2.59502313830032, 'temperatures': [20.40497686169968], 'out_temperature': 10.4490846080284, 'action_': [16.818777, 23.734867, 0.241808]}\n", + "Reward: -10273.83205152557 {'timestep': 23328, 'time_elapsed': 20995200, 'year': 1991, 'month': 9, 'day': 1, 'hour': 0, 'total_power': 120.4056020773604, 'total_power_no_units': -0.01204056020773604, 'comfort_penalty': -1.768018008172639, 'abs_comfort': 1.768018008172639, 'temperatures': [21.23198199182736], 'out_temperature': 12.96124535280048, 'action_': [19.102827, 28.182596, 0.08341339]}\n", + "Reward: -12224.318447785688 {'timestep': 26208, 'time_elapsed': 23587200, 'year': 1991, 'month': 10, 'day': 1, 'hour': 0, 'total_power': 469.4587430154137, 'total_power_no_units': -0.046945874301541374, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.06553825688241], 'out_temperature': 6.844933137569515, 'action_': [15.480132, 23.393116, 0.51604635]}\n", + "Reward: -13041.260744220324 {'timestep': 29184, 'time_elapsed': 26265600, 'year': 1991, 'month': 11, 'day': 1, 'hour': 0, 'total_power': 658.9345665037555, 'total_power_no_units': -0.06589345665037555, 'comfort_penalty': -0.9947529958024113, 'abs_comfort': 0.9947529958024113, 'temperatures': [19.00524700419759], 'out_temperature': 6.139674604783751, 'action_': [15.60221, 23.140676, 0.7023196]}\n", + "Reward: -14028.556676010696 {'timestep': 32064, 'time_elapsed': 28857600, 'year': 1991, 'month': 12, 'day': 1, 'hour': 0, 'total_power': 140.0534103456761, 'total_power_no_units': -0.01400534103456761, 'comfort_penalty': -0.0, 'abs_comfort': 0.0, 'temperatures': [20.12511560374498], 'out_temperature': 5.961020408807885, 'action_': [15.309132, 28.84229, 0.020878673]}\n", + "Reward: -15380.029536325419 {'timestep': 35040, 'time_elapsed': 31536000, 'year': 1992, 'month': 1, 'day': 1, 'hour': 0, 'total_power': 10410.81751368661, 'total_power_no_units': -1.041081751368661, 'comfort_penalty': -0.4320504567081187, 'abs_comfort': 0.4320504567081187, 'temperatures': [19.56794954329188], 'out_temperature': -0.7071846842980632, 'action_': [19.668835, 28.38713, 0.0763033]}\n", + "Episode 0 Mean reward: -0.4389277835709471 Cumulative reward: -15380.029536325419\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2022-10-03 11:09:23,032] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n", + "[2022-10-03 11:09:23,032] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n", + "[2022-10-03 11:09:23,032] EPLUS_ENV_5Zone-cool-continuous-stochastic-v1_MainThread_ROOT INFO:EnergyPlus simulation closed successfully. \n" + ] + } + ], "source": [ "import gym\n", "import numpy as np\n", "\n", + "new_action_variables=[\n", + "'Heating_Setpoint_RL',\n", + "'Cooling_Setpoint_RL',\n", + "'light_control'\n", + "]\n", + "\n", + "new_action_space=gym.spaces.Box(\n", + " low=np.array([15.0, 22.5, 0.0]),\n", + " high=np.array([22.5, 30.0, 1.0]),\n", + " shape=(3,),\n", + " dtype=np.float32\n", + ")\n", + "\n", "new_action_definition={\n", - " 'ThermostatSetpoint:DualSetpoint': [{\n", - " 'name': 'West-DualSetP-RL',\n", - " 'heating_name': 'West-HtgSetP-RL',\n", - " 'cooling_name': 'West-ClgSetP-RL',\n", - " 'heating_initial_value':21.0,\n", - " 'cooling_initial_value':25.0,\n", - " 'zones': ['West Zone']\n", - " },\n", - " {\n", - " 'name': 'East-DualSetP-RL',\n", - " 'heating_name': 'East-HtgSetP-RL',\n", - " 'cooling_name': 'East-ClgSetP-RL',\n", - " 'heating_initial_value':21.0,\n", - " 'cooling_initial_value':25.0,\n", - " 'zones': ['East Zone']\n", - " }]\n", + " 'Htg-SetP-Sch': {'name': 'Heating_Setpoint_RL', 'initial_value': 21},\n", + " 'Clg-SetP-Sch': {'name': 'Cooling_Setpoint_RL', 'initial_value': 25},\n", + " 'LIGHTS-1':{'name':'light_control','initial_value':0.2}\n", + "\n", "}\n", "\n", - "env = gym.make('Eplus-datacenter-cool-continuous-stochastic-v1', \n", + "env = gym.make('Eplus-5Zone-cool-continuous-stochastic-v1',\n", + " action_variables=new_action_variables,\n", + " action_space=new_action_space,\n", " action_definition=new_action_definition\n", " )\n", "\n", @@ -399,10 +849,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The name of the heating and cooling should be the name of action variables defined in the environment. \n", - "Otherwise, *Sinergym* will show the inconsistency.\n", - "\n", - "For more information about the format of the action definition dictionaries, visit the section called [action definition](https://ugr-sail.github.io/sinergym/compilation/html/pages/environments.html#action-definition)." + "Previously, it is recommended to know what controllers are available in the specific building model, see the previous example of this notebook. For more information about the format of the action definition dictionaries, visit the section called [action definition](https://ugr-sail.github.io/sinergym/compilation/html/pages/environments.html#action-definition)." ] }, { @@ -423,9 +870,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2022-10-03 11:10:20,132] EPLUS_ENV_datacenter-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf ExternalInterface object if it is not present...\n", + "[2022-10-03 11:10:20,133] EPLUS_ENV_datacenter-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf Site:Location and SizingPeriod:DesignDay(s) to weather and ddy file...\n", + "[2022-10-03 11:10:20,136] EPLUS_ENV_datacenter-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Updating idf OutPut:Variable and variables XML tree model for BVCTB connection.\n", + "[2022-10-03 11:10:20,141] EPLUS_ENV_datacenter-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up extra configuration in building model if exists...\n", + "[2022-10-03 11:10:20,143] EPLUS_ENV_datacenter-cool-continuous-stochastic-v1_MainThread_ROOT INFO:Setting up action definition in building model if exists...\n", + "/usr/local/lib/python3.10/dist-packages/gym/spaces/box.py:73: UserWarning: \u001b[33mWARN: Box bound precision lowered by casting to float32\u001b[0m\n", + " logger.warn(\n" + ] + } + ], "source": [ "extra_conf={\n", " 'timesteps_per_hour':6,\n", diff --git a/docs/compilation/doctrees/pages/environments.doctree b/docs/compilation/doctrees/pages/environments.doctree index 58f234c00248693b6c75641cd5e91449471a5933..1dff7fd2e6d545dc337a842357205066c3325dcb 100644 GIT binary patch delta 8700 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 diff --git a/docs/compilation/doctrees/pages/introduction.doctree b/docs/compilation/doctrees/pages/introduction.doctree index b61e2110d858855c66dba1f6ad8b8c3a36d5fe78..07b5fa4a6f6381cb189965f66eed76c3d1a8abb9 100644 GIT binary patch delta 3905 zcmeHK&2Jk;6!&gox3QpAnlwTX=!8gVV_ZY20#(R|il8D$R8)0nfL7J)?l?QnddBRB z-5{X_i5?=%0mj^r$Px7rwXzTwzN8$AkT~>)KqykgA5f4uAVA{HuGj0N0mXGyF1@UG zX6L>4dmr=O&p-X5e7vb7-%fti|HifC#I(v)F*QBqpQVi0i_0Zcwt0mb#6bm*=`Q6A zThv`fE=OE*F=dFd0=G+8eoAAFdoFTKf(WZno3j#Ou7ey;HxYJ%4{ve?%D5dY9Ni>_ zXA#>$xPqyLHH&~kNEVkm$_^QdJ=%a|Ei37ln7Qz{Ls5~@-c z9Ax6xql13I<|TMXcoBThp*%+h2N~)_=Bw1QPzf)AC5AE?97Givq(B*!QOsl{=B7)4 z-$_$uP#wF(Xzs#U>{)JvAwUi|mQfWmAL7rEP0AM5gIHqZl!;CYR7YW=q!%a?B{&1% z0go&3=osARg&;LHu}B3o89$fUkoB}~Vzvmmllg(5gegha%{>?DX8-s*^|$Ir%;bW~ z?iCP}^1TAuWdQ~CbHw~GDxjM9;knQJg{qQB8&MR5c9mq5N8$sh7-U*&;3$q7&-x-27vb)A>Wm{A}^+H!E~m_sWB z$dti#Pjb$Hj%G4h*z$l?A(uF=1H>wzKAAS zmqLgXfIm@CjEK&iWyb~52W$#y9EhLC44{=R=x%aEAafOB@v=mc+s=?`Uv}h=f2SSl z&>ugDS-V5ci9J*s-?bxc*Q)~|sDriM7q)f8{#%k9b;J9&BtJH3ra;l>tpe26dIOb1 zH8qRkQ^6{*xXs|cttAv$OUHE;D+x?}*D~d|OeKRT#s_Q7jhze*Xa1u=Bl8dZTMfrH z%v2K8|J*{8YoY0Dm3e%+*0vd-3a&OePYrJCF=o;A(MiDi6#3;c{c(fOwi-89Xiz$-gh>BKBE4E`FyM)f4jE dm^u+lzXH<7I9rihe?*G9Bix2qTwT2n%zO$}{oqfN8MpKy2P?#@kT=dN?_ zB#t1X55DNW=w06m;)`G*NLlbfMQbP)-}F&Lf}J>WCz2AM_GM@9 zJ@1m2iMCN5znO4)x2Z!W`nE zz1hjfCbB~aJGd&apv=!uj%?=JB=CuoLsTHx@R>lwXJOezf+0=>3abeF@{fJHV(dG~ z4ky7rUL`gyQQ~A4aX@j=Bgn@U!t-cS17VLdnRq!c-z?#6+2R9Z%E-J(q zT*-t>+78>SQe}QiR3sVjQUomaJmn|A3Kt8d5}}Y2txH}M5C-;8%NdRwQlbzTDuQu9 zhm!%KJ{JT#h?Vpn9KoR{n)m=8a6~IrkJ?mt5vm4kkvi)Taoa;pX&#+m$Wh)kBTUx{kE}+9+H5tEkZ097;Q4(5KaSSua&x&fCk89;z~?) zIx%WeZ|f{}#+T2W=;Sd;{1Wv%R3t#ZPphGag))FS{4!tr4y=?|P)X2mD46^UVxTZ5Ia1Vp$T&vQ=|$BQlv73a6pg)aoCDO9#*R?&^DtEj&hp+^*9qx6*J0F z<|KuMZJPxuX21c4Vvx1XG6{v2JbtV7vodE!8I)qXv!hqy6b+`Aqx_isetM!-bdtIyWQTIA_uVeQ*!mDSy zuH){jUq_iAzi_lRkVjYVhV|F#&8xb}Id@=TBrWe4en1|XxLe-5zvs|MI+Y5G?rnv# zkxF$N>ed@-N2AjX;NK0kouMw#*EzWiv?q$oiIztXzYrI0hg#mQ!DaKgCEnII<>qsX z9xbmixOCLwwh$FJN4(9M+8&|~H%Gk9nY#9b2emY2Mrnx$?}=Nl$(p~FVQ=fRUNcuQ zOkw}KY27SzcbJuf!&$Sofr|0#ok1hiF2&k^Mcb|C|0|8Okxtk<+ROdx3ER10xa}}` znMg$}&lT=#EIocx+WbNx?UCn(dW@CE@{#WhV@19(HEMpNEx_W>sZsca^VS$>ekv~( z9&NmL?1EvWs!-v@~`71V@*Ck{fN;IvO(2)Gc9>7FTa1{e);$GK{%q& zCIIacpp7@qJh^5X2Nat5aF6_IW= z5)dBLhJMGWG5mDJFqRaG!R428LniN$^V0{6*Yyc-1-56O`C4r&G8wHs-3DmD%;iKT4~ZQH)|fMxw=-f;(6K)cIch^yEOKmtrUs+K z5|Kd*=kfAQ=p(-=SHvCmmLx_<%q?0xQ#SHF1X}L>=gLKL;1ZqH!kvWBK-=VOtMLGz z(7r!HH`IjaMyR6RhAe$nKWXo9VA;bFH$nvwIqyC5w!95*0tKpEx=#lKv*JBlZ&@}* z!N4?pr1`+Q*!x#*bZnPZMqKcnGPrQpEr} zlchavUHs(i4~ZS>tz`9t;k%4#eFmu@UNZVcKQ5J99FNjb&=70vHR)GyPSn||Flshj zW~+My?u>bJ+(wC7gKd~3Q%?sH;PavB#3`?jXUEuaOnz9>iFPyp)!G=9Yl|=QlXi{X z42PH5SEH-pH#6 zZt=@3f&08$#yjwhD`=4+-1LMR)m>FqODYN+yhQzg%-74`Q}vd7A~@>nVIT3KZ;`zr zkL;lhl5UaAwM&z1OwsxVKJuGEx-EQzt|3Oqnm*{kRjOVQ>2++^M*Ao5mw%CO)AXm_ zt1?Ufm_Ibat4yuRU((i#Dz-w^GGP%s76|ft)ZM{zfs?#U)e>z)@M$32yg=PfcBGjk z`0oXDm@jmvV7o z&D$!44RwFmYNa7K$e2?Zt>1Qck7&JN`q2x~#hMkRsB&^0j5@k_DTmZ#|fuMor3fY4oYrYwuia{XN zFgS<STn`R{z&-*3MEQncM~NQ0%pR9^9TMR{#md2J2+Up><$&o4nX@~4JdjkAKgb#ul^ zGlNN0RtkEGyx&lTo+W)3R^#5eWb?ui=%3`5h11h(9(R^KQ8%@$x+eY6%FLOCPUIDxEqtNz9W+R;J`9)m9`;EK8zWR#!}&TJ}UvP|)PE+VM|Ul$X_{1Ld%? z+N4@%SrQ#cDleT@Mjl<69GO%x2}Vn6lgi4cPpPgbp9Z|Q{64CT< z*m0Q7sCUhAr91tlT=H~NBFZPNt0U1Va{sy%gCbcD?2%!)2x}XR)n${OsF+qdrQ9VI zlEo_u1Fq0v2Wk7jLFUMn3R^fcglt;hgFZmmuq z-z8R8*9@BAat4lbNje=apsd5F)7B8C-_P}oOHs5l08HNCspjXrtGS7)*`KMI)GtiY z^Zfe?c7UjR{e?XLa$o!xq47;_jn@mE360OyXgu;xU+1fr=lNn1gKR!&Zt+5+3NG#C zhTY@Mu5yie&6|q%b&G?<$j7Bx0bh6+%PYeFT zy9F=14@xFMTa&2?{pjZ8#)>L&V!q`k1|Iyx;869%d@WQX>~~UQKg%$$QLdNQC@1Xa zoyH(&$eay!V>D$TPKpYp5u03I`J~{~%0`5lPIhf3;I7`~0|Ae3Y|;yOh0NHLfZM$Y zc)1G!e`f-sE9BnI%Y|GQ34XONy2#`T4^v(K2c2B!v~ulz^%-LtT^T3c64u!_Q`m^` z&2xVs*PmZ=nRUK70&wN}U=)i-hIzW@@G#%*ITq$t+{R=}BdJ?!gl7&7Bipv-VtDYZ zFS%vBgYhbyvlu3XbIJ=GXq2&@3pq~_a(!T^3v#WJMQ5{7k@SnhXwo;TNuPb~rmN$m zwZZU}K$dL_HLT$ytH{=Eg~pfp$4j*KNFa-^2F6NFY{ON?dPiIJ1nk_bH}y3DX}m2J z|LVoizo>@xta|)N-Uo$X=a=6+gs+5=yaO@x!HsJ(srLCvXWWaNV_JYEkk{YIMCqh- zUn0?zZ5NpZMIG}4U#}J5{g!3=I6A^ao_s4AjU>tYI@N2#0o+TyHkNYE184?ILpeVh zN$uNBXeh}&5Q~SJl*}W!rMN?|sd_2QDPGD2nJreRu4vNMpI!uU?%JcbL^EKLalO*f zE1sgP@-E72Zc*}?C5{JU9}0tsB)2)pQ-sk>1SQ}t{a`u1J)9i|c<=&d zlAHe`%AMf75XN;bG(*dKVfY`o&%zH^>UIAz8SqgmTIG%X<-Xb9q_F@m$_frP<0dWx zJh%++xMd((85X-`NF;L)-EC;43*)4tuqZR+V>rD^nEr%P3A-$2vWY1D1CQBCl>Ur< zu_zs{MCqd}29!GE>Fq2Lt`x}-7&nvFkF6qfAEq&eg>Gx-&`nubdJihvG3oFqgzaW| zRWQo+vzp`k04e(PA>7+6@H3=5x;jqM z5pgN&CYGr@N?~ODHv>uP(FpvonG87EC)7dd_{Gm`CZ!#AGVjAM0=GQl6C80O-302( z^?@Pb?zQ7d_^~XLnGWz=L~-Q(B`B7Z9gB6$gfFR@=9j1GTaEfw3vbU$b?onSdAkus z_)8QPbTPFqV?G^+X{Y)ZB$_~Xt%yMNCSmDlp7pSQ6qcJEASz%2CmN-zn z3Pf3SI|y^)7PgmLN)QPWV$~TdnQ+2}Hjt-Ilt3vDXylU1%?_x z1`?(`^a9;bNGa4+W6`T?nSj-)OW??#CV{$M_W_iAA`|U`Ii?KkMz*0t0@agQGXC%P zseE#Ce51t|?o&hdUr402o_e6Ys>f|FX#qXZ^P;>Si0T@b^Bw6bsHedo7Pvh69?!a* zyBng#yzWFnmoLKw)uD4RRGY#&;P?&HP;l<+COY4xl_9CZ*l={IpEhuqdD z5IZ7>`Ajr@Ea^EI7e$b^ff=|EzIX`Ewv+(5G!J#__M9{y{(_tnQ z-9K+6p2EK-QSvN2I)c>aW?G)~2~eMHr#NdeW9eh_*>m(!HL5pG<@~*PArM;t^1BRd ziXchn9rBC*C=IVwg)Z!SSp(eQM87{hG6@vJdBNw zpnGJ>r`#0EMkH^t6`du;7c%i_w;V@>9CDihW#H=;&{me!xkuxyiVKt07i?evxu^ss zI7U+ousk)~D)JP2^T<;V1oc%LO*Ao~PMx9&t+!6j&>bSyy-LqW${v(77lQqi^2s?P zrqt9vT2osM#RA--(w+6G7^lr~=F(L};WAR>QLSZeV!0*!*lfN5L?CUsFrPNnbLJUG4}*s&P%spF~Xio0Z12GPsja)xzzG zN3;u+JPYj2B3fw_bvWKM)cnX&lOx)UKIc`BYw)=QxV&Ly@dW)xFhOWsx?p8->AV%< z(ijv^T02rXb1{)x=KPJ6Io0Xt?;0J6Bs_CKWP=}_acM*AF)IzN0XcvmLQPJj-pTG_ z^iTq!V$ya!v+?TyIi?7OU>zw99vCP~E@YrA${FK0CQ{*;2amr&r6hvKV^pEM!lgby zg9pXGk&q@812a5!%%^Xx#$|7wv4b4Hcn&Rt{UYRT!6?DJlxhM{m#%)S8~cy^9$iIp zeheZNm&QVk+1kOX3&SQRFH|b`UAK0wYc@p^T8z1IfX=SygPn6b{(&KV2lFYjtAN@ULK*|4t96%c*`AwlM zS`IHk22-OVkFp8B2iV&Z99Ln2>*yMNV>)7QUUamn?HV@Q_(dqx2D&a>*pnpvI+{HA z^9a1fOcwms)0Ph7brU<4#=KlLDMfh?wnW-3uLwnH@<9w)NvU~7HQ2*OwT1`VSdp%* z-$M4a55f=HSbo-oDcb|Sw=}9-GQdg(XjB0ETgY#h98q(6n<`@e`VDwVUsPlJy9 zK@0i#m;C7E-pD6HMMs)XrW=)-8UR{PX5u89avcnbq54zYHj%!%V?Q}|WFUTL_)P&5Xcf0gEu6fhJE+uPV{T*Uu;MRmB%z~UsMrVGBgh8s;WU0ncaD?(LGkDh z6x5mzp;Pj`{wR*Pe!Ul8Wiu=|7~1LLEGbc*69}ob__ygOM6QZOiR5%;Fg8T7QVbqY zilJma(L4x_5`PWPyw#E#1rDaE#(*s}nO+f~7()eo-M+~oFaY%!y4#I$Cx4}vr+!ha zF1yDU6fMhu30juHW7h9Z`hcX27Jy7z=l37hj?;$2QwpmN-PE;dwzM{n8l)4WX^_Us76Z-5jF#~ZpmRzSqVd)OXc49d!PtwC+AH?@y)r?cTxK9E^|Ljbda z-uAO^WRuc-QVD3o#fD;T)+tOeTBmr?4o(ptL!H8l$TQ^u<|1n;$Y)V5<eDk7!(IVhy5OtZ860`Zr7Bb2Vz+>5QwTq=3oaW zfUmp}gKrgi50Lpegv{i?)qf3-SS`^aJCmDamM^5NK{_Ycms`ZKhk(2wN z!5GIgv)s@j_{IA&Oxutg9K%V#FjUKF>KE1W)qK$M06x?=UaRH;pO}=Z`veN-Y6AZp zr$d69-}0yas0HBz@w_qo9$Ui@w!@~-U1kVl@L3J`K{^AnqXSO?L;OzsE+C z%{P+emJ(Ft_<$~DL_HSN^=F_J=T(fj&ePi2_`nE-jTMMpju5SxnUpQ#cq+8k+<8-k8=9`21GJpNU zyj`XDPk@xo3ieU_ENRfT@KtN89LC(P=hv149OK`w%Y!#~u%puXS4I750*770`0qN# zvkwyZ{o5*e9N$WE>{#!Gm-+MjKk?_Na8c4%L|-xuQ1HW2@RS!6!k^WCFY>evIlL=e z?--OQ)pPJeojLr}VJAPg<0b=ffSl|cALlT*5j;QTpn^J}pbqh!2VI~5uY8~*`8ZA& zt_rUR7la0ABl*`4O8L@sJ@!A@AOF5i3mOrQyQF%Sl|N*ib_{L$`cfLtBz4vmG}oy&9tFHP7I5>U!l9 zcwTJ9d~++Cmsc)o&?@WZH?_@+_?pi;kk4x_#Kjx#{rm5S`lj?v`-=$o__}Z?{`#_)4QYFbiK6cz;3ej2wu7~*Cz3*hh-pB0R4t1 zJ~D>=Mj3jmY3P-PxePtn5)7xIBquc9Ci@k=4Sp%SekKVFKk4APfk?-45Mjr}CNQ#8x2}4Z7 zN^cof+WBNq>_~tbr=O?;nm38(u3v2cx{|1{7`naHmu{4^U;m*a&8FX_2r5>%Ai%1V z_@O_#Rh}6Yqbdn2MnQV7M4QUjY#WDpw&=f&JY$z6@!vi;gg&TQ(zT{$Wl};ztx{Z& zS+?`ZI_F}gQL{~>1vZUJ2`^S|l|Hp+giRYkfGYgsTAP|~G-E_Y{e~ziu8*POW29mn zg}s;;fFb;!+ggp1vX0-reGFTtG~Hury2hsIeTJrF_o^LtI*%%CU$$v`*rx4$eQ8TL zKkf|M{nw44;>m2tVqZm3?#md;eQ#5)fIqe?5}{|4`0(AM7=Fl)Danxt{nV!28LM_5 z?Y_b}lqdt*kYtR`f@F=O;q*$In`{lyGg3u|(FLd_IQ9{7KzkH_$?>$uH7>fjH9U(cL857WLh+ z?m`DZnQh}5k%;y%7=~o;2(Q*y@xt>MQM6Z zBvaE<1-e8Q=<)j=V>H{0>^|Cvee{vufzA~kcqn^!2?a$|@ItTUc+22d?v6dWq_62rUNsS*Fd?^vB zKeb7Hriav!%UcfT8%6NUPYM0e!2|Yl#w5P|P%-=hL0tU{G}}qz=QxQcn`n~HN-+&T zn!};d{IY!ls(H@gELNRD8YDKF8jK?m4YOC^ysUz{*o%j(ZP|AbwE4SeYf zL*XH-0?O<={wIdnH(P`+p*EGzSG>3hxRjnN>AOtn*IK1t-BbF%SfyY6Q_|n|(!C|N zs{Iez$Ee!PO^rRO_LsfYT5vdqS{I~Rma?7p^6%jjsnjP*sf5%>P<>=o>U0mKSazzl zY@Plot(-?6vHN5K-+eTn{XDgISFKK^uG%{lE>G2uuWMgz9kE9&_&8yR#ONla|wWX>$yvWS_7Mnt22sqEF*WooXXPkN=UPiwS_C~A3ZOQ!f z2QF5dEOr)v%P7gsl%A?2r}Zq!i*|J$TMz623e@2e+gy;%_NIzgT(FFv`s>7`y(F(H z-bYZR<5#iwQu(^EMdDyG4CMQcU&-DkxfS?u?Qcpw8<%qEl7^;GHr*R?us-iXGQR4f zO1|+87yBWV?|!2!=?Jl^BKUNwxZVqXzHwtRAGP6PhcitYEuOcWkk^>xVr`E}9mm_> zEKYfvCJaHb>2_ZMS^V^ySz`wyv$mL;M-GizBcnDP-K#C3pV%To)sj1ay^7HJreihf z6}B^aL1C}}3wV$}Rq>}Bo^4ymf*be)*yuAfx5iKA6j>j=W*=!o0@yc8YMW8iRJ4ZRIp<>`xatK`4Sc$-CpE57Q;>R6zXK zEJ%li24HW=M9FZNX^JKt@$2XtNUP8>E|S(!&0+dV8;Lfew7$a|Jq^O4XS9dWD(wzq zJ>2sie0Mmszuj*v_sF8cFeU0lOi;rcSV~LDF_;re8bZ(N$3U^r3*P^qyX#gI7dP2V zCK9K-;Dbowxs1$j4eNF5(R9(72wCD-1txw&^8ri(dXK~e@vg2 zD=vnYB=)FoAL~jNo2Ee_+l_mFJ5-cRg<))pi(0W%a}r{cn!9SxehutumzXdOE@pG_ zn}$r2To&dzY?;Z|rt?Yj{Pv4#)@~8GkY|1AV!F2XV9I^xXZIkKsxfY`k*0i~u9Lz& zJo#LvK`9=Y1upg{8}0UU2JOImP=F;3ycF$;JCufp#RarGb+Ow_v9Txf`|pcqkCI)A z-Jt`P0Mx^hzkZ)L?gF}spL#P8q=D)_Uy|8n_mLyL`-m0&F~L9o;bZ1-M>=p^oEzD{ z$yl=fE@)s`Zr=S)p~HuBSbXY57NE@w-PGv8UU+?OSrphMl7r!|M*&9T*GT2WA%v{A zNiPj$MYE*vk0>Rk@WkW=O>Olz*0Pj zW~PaqNiduVWd+qAQuLO`kw+S8)Ic=U=4giEx}kO{)9M^E#U}${JbS?{vqkkRcF4Mg zGqQy;^anQn_mpe?p*TKOJyCB)#*W`g4yV53w`ro=fgW;tq&MS5g%gU6zQmQ=s4ubm z-NqqHH72r)?#4AVG#Zn5*9q0Ez(X3idNpvg<;%yXupu4;%q;Cu0WEQ{j2wZbU5rcs zH=E)SlM-NTlCd`i!EzY{1?nyA3J=N@&}Mn?lv``~E}7MOs6J}!CK5mv3}+)z7HezV ze8$;AF+T~GvR|py9cA%snTJXvebx=1$kuxJrrIJP<>dLZB)tQUM*(0mr{+JL{4UreC;h<$mg#E?aULaN`L7_OF3YX9t z)<)LmQN^v%ql#Od5}&F>Em7!IV!7R8vPx`5SgaCRMeDD-te^a+(UeM%eqJL%n z>(gNzK!&JyfI1X1kC%??`}`hc&|_j44I?qp>4xdz%7LVQO@=ySWQnmJmMjsW*5)G+{ubH)7e5S#o92hjEu2{d?57ijqZTsQTx6W@hTV#>?ln*UfVR`b?=p@{gM4Usac2V$x}N|#18rPhP}-7$RL2R>f;uSyeMx}_!tJe`cxd8al8pt=S`oJ`jM)?h_T(eGms66wWe zD~WLxG4#3Js?SK)9&2k1ve`Wp>5PGEDzYsWn!L|Mq?C&M*^1Un5lM2)N@CnS6^dEr zEO$?%@%w#|yCQS@j5exzGGNN+1;ItbNd0}k1ny?%V<{lban7%2wDhYZ!xA>eUGbd2 zN6;)G1J9d5abhjyjtGKuR8e$XHG=(b41rWyMO2ly>qPN-5mre3jl>8?J58pI#z?Gle&gJ3p3|ZRnHjR$ zchrICoK{&5>8vbM)Rx2OBqJWN1^?g`tIOe5M|CEKXh6G^c9xH7;*tuuja6n^uCTM^ zqNu5a1jh`bFV^rXlmSIzMI}5A^L5_l1lE`-@34)cbS(JA$|@*@+th03_ykx^!(w_e zEJ?o|ajZwSvP^koLx7gr5wPB5Qdo2$<|QpTu-ROBl!n9Ex=eY1+Zq#)Zp8;oHdDA1 zQ8XU%;8k<&hz;^sACRL=CR0MOyc$a2Yjf$m4evr9cq1W2rQ4!GegVl~nOz z4P-;mT+gOq4iACJ;ZM)agRSP$jbYkx5UFM!FXAVfxKp^z?FM(wjP{qZFL&#X!$TieX?Q+EqOt zS%$bDy(Hm7d4cT4i=fe5^3oa$2U#0ZTL1t6 diff --git a/docs/compilation/doctrees/pages/modules/sinergym.envs.eplus_env.doctree b/docs/compilation/doctrees/pages/modules/sinergym.envs.eplus_env.doctree index 984e5c71ac70696225822de0bcf027b17300804c..b65d3f277fb0865674d5f372752108c17368eb22 100644 GIT binary patch delta 614 zcmZ8fO=}ZT6z!YIOJ|&>F*a#z$wyndXi`TgC?aXK6^lq9w9=JOXsknThi1}dl9Wos zxTvc^h5L#qLam6@B7QI{aZ~&Ux{z$T^Dnrz_YFnC&3*Tsd)_%`F0*~Eo#$=7^E>{T z|73Wig5qT`mdL~fgiCc%Za@ysLkfBz4=Q?!%}Ur|kNI`NuHjy2C^ik_a23oV`^zea z3VeZXx8$77;kS^(mi!4`X8HqyTa7!=#;BUaKWZ$YEmzkzSMSzA6mLtjfPtOx9Gk&h zcW3xLbT10%_q5sdwT3(EG{v@fDDI0f;1DLYPdK7o;vc9xz>P=-TiPW1ieI!Rd>_U= z8=oqp_?%tDxB38kgNOPO)!|b^5gGf(N$fotbYPb>UQ)JKxqtf7d*&qTX z=K)`8@fU^QR}>Zb=pMnFxL{o74eB;1Xc|8ngYhceg3VHx3YaBw zcksyAXL)?oGijt*R~Mx0K{`l1RkZu5vy)Uv)IJ+b|9fviTJ9#hNM*`Px~q;=TiL3Z zmeX`iORiA1!ty5~I%B(jq4y>;mPyI$wQ99$4d?J{ oE#8)ck_%b#3Feew3Kex!q2q>{=Jo**=vQg_@A|R~zb7sn1DT<~y8r+H delta 757 zcmZ8fO=}Zj5bkSsv%5)J#a6|Tm~EO88=Itv5XCP9i7nCCKM>n(`r`ZEFs=nc{f zXM`o^OzIFfY}(Nl?GwxSAPLTNRTy^l6sdb40uI;%M^1&Y?yzTg zTdlJdl(k8U{Vsh=jHZ8vXo?Zx>H1*5z1|WPp3to2p)2B&*bOo`L80T~I3k5TEjOs+ z`#MGYN3m7aM+7}+hwf8hksu!~xVq&9%C6%**8%k^eO=zz^M}jZcaaJkuAC=VXoCwF zbU$VZeB(Z(Mp#!D`0`=g?9qn@D9MK?(D3|V3+do;@Y}lwG6K(dyv%4eJQ`z5&1>Cb zjLkOR_55_iQ?|+|1=G?>Mv+$=v)rVU^EQw+AwUW(oV1g0thwA9VB?@!J!ZqK^5R61 zo2HTF0!61&9rWQ>`Jpc~H{?1ErsqNvQ+ zSW8-Gt*Mzz;t!j$#P%;6YsCJE8G|WxtVS!xni`$aK{K1FX*&1)+TB*jfA*bs@44rk z&-b2t-+nek?hFzAe#5bwXY^n+`ph2hR3Og#u1Vi1MVm83+QFNU#kCVSlk70P#g^nX z5Ug*zRG+y`4zdj&Sc3>@_9U>!R|v!M_{YpE9e$djhmY)o+=tR4UR?x76Yb_!*|S-W zuoXs9EkurUc9uxGAj8@bvkNC(2mE{e*`k47fp@I=+*JvLqX*%JHA7{&q_PO{^a!r; z2|L`+Zu54uZ1?!-4MvwAcZ}tGo4&yw{q#+IKub;)&qULp$0g`-8Tvl+l%X$%L672u z25l_psfLAQs%5Rf_ zTf=~x*%Cq7V><`0C1y;q$rGuqNW4C+Eu8o;jHcyquRMzQr74JyF=F$7h~ZRvjn>dy zKL?!&nWSGLJsBk3A4oThqdXf*xpykc^O?O!Se4}tC%g&6SuXCEM-kqb zg7EHSds+r((p_-g5f?D|4)bB%4uLe<*;FG1RgaqbjqgEX|y06z7Or^mC zU}1w9>gHaRuzB?av)<;Ln6r)6;Y%tkcbWKFd0;VYc2x>h@=FDQ{q>I6a_LRJ*2ElI zO5oMX>Of-7dBSbcVXqgGO<>CV+PH~TgjXN>c;HrEA<8+nB%AAF#iYQdQX_ct8wGZH zG4mcBi|yJiQ-m&61lZZ?7L(XjlG5a-jXD^wuY!$p9b^y=%zeh>QM@qH(>my^u>+oL z;glTh1633AhM?O?G~vz+rwJE?)R|gY;TXXIYQehb1!l!-)-1FRQ>*kl8wP9R$p#px ztO=Yd{FHFlBzFC`EN(&3%it&;ArIlV;%xo_OJJiDkWf-bcxWog7N+avAsy6|=aAXZ zUY^5Gpc|gkKj3zW6ScCGx;U3!(aJP)0B3zscro_u?sWU<5!hY2(yWM=h0$BJoO_I-#%L zX;F@NXddWVh95{hjMXoKTh(^b05LUB8P)Vi8wK8)HldN#W25U?Hl~Mhx>6txu7lXx zTw_#7@ffti@f;4wTC_7u(n7K#wBV*2q-GU}Ifx`_j_PCqkC(n+!+bRzrU$7P~pLR)Z8TOe6s3j%G+-GsCSzFM)8 zkhDPJ$_Kg)e=+|*@u%A-cv?E#>^|$pKZ%r0tnL<5@RFD2MWa|LE)g$?U*dg_YuHBt Zj}HE@^F{S64(lS?%YF_9+SWFbe*v5THmU#s delta 3062 zcmb7`e{54#6vw%*eOn7H`_VE&Ug=8rqwUsho$UAOWNfkk17>i@uMIaSJTH!Ijv>Es z!=Kooa*CpVAVNYE06BSp=wA?bpE#}u6C5(lGe~627+Io|fSA+BM946=6Ib{hbEl9zgO60< ztFxKb;0vBGyW#JIapuLHvYTq-;l@NSAsz5~l9N1-X)JI$$z|x|v)j>;3JJ+`gl+=u zHZSZ*ZXm5doCnEjc*Bw*tR`^YnQ7X?!o9NzmLjuK5?1p0%khP)uYzL}Y*1t^H5}#s z!x-d*>*MrrD(wSuh)pp@reMY?>9mPQHu4P3`0{jxwuIcWD96e14I#IZ^+nPKg()rL z*Tsy}OK>bDhg`<27M+`R!Q?4U4d?kKi+8bZJP z9^K7e+v(dZstlT{T=2fvDl+9bf3L#d%lYrIV9tM*!D#$F=#TKH=4~?=1q_sEJdm^~ zzaD=@_VM;6(EiH9)1jLwHKhlXYTYDy(%7P*#zK_ie_VJZP`6 zVPRQSX|&OWYaIWYfFMDL2 zoJ9-5zj=s2mH{cSz|jgjSpp7kpJ@pzjYqV=KVBcInw#S$Ta}{9XPBTnXMv%WC*O$9 zOb=bpX<}!pLUc9z zh8@&F{`4%Nv=?4Nr<0?Y2lVeu8?3~?L&V8asahx~$S5)bPN+(uE)T{>7?oF$~_ z;ck)z-Yrfs^kXa@^827KbfJLWLXY5Pqp9GZVM+|*XfPh{*0mej0wKB+b`{npsFJ2* zN}L%7w{WH(_LW%ElhM^AI~ziBI{sxggxEE!F0F>Q!JHzOFe|bI2|{9t4ZbXzIympH zVi##-X(x}E78Vs}3(rP@BI|sL{*43ISu}VJSYP5IJ4dldUy0RDhNIK8)+xP>-D{+` zx%|Ikb7bd5w~F3me!OQHQvF8qQR&#@vUdRCQdi&`_fdK9^~ z#_}+^%5R{D%k>kp6uA^@1i5(HxzOiyfN$n>M}H*8-AE3_Qgej&%nT5+GW_qXT0&C8 zvup3`7XHN|AK;@SXk63O5@45J2mY^0*}&Wm*^b`_Wn4DNe))0vjNC)(@l;UuJ)wQ< W!A>F7u{^BV=qC2)3h${~K>h;&pho}z diff --git a/docs/compilation/doctrees/pages/modules/sinergym.simulators.base.doctree b/docs/compilation/doctrees/pages/modules/sinergym.simulators.base.doctree index 15b702560754243baaef7a4bc8230efbcab2e673..5196f2c97a543a75d7c3ac2e225b38cb5bc3a62c 100644 GIT binary patch delta 576 zcmZ8fO=uHQ5bo^eZFb$%T57=jG-+cFX=wB!iWqFvlL%4iO$i}^rIT$ELpNy+)*8>| zHf!()YNdi!X{F>M9;A0s@$OAf!J{bjQk=I2553HL^L^jUeDioOr=O)oN8Aqux5Yc4 zo?4+VN@5JPeA6wpFohY6U;w93rJPcQJng_Wae=XO6jvrjXE2RtarzScS4Dhh#4Kl5 zB@dTr*;j{R|EF&mj1`7&waR#ho~kK&pdAt(LYvwZ$kCqm30~1he-d8PFaIgA$?6R{ zu3v|@bWiVz=a}x!)1;cD4xFTp5rTDkWF&m+t+GYiW@uEpm3}@C{H#d_p;d14n1?=@ zy6fI{Qz%eFf5F8Z9X+rjelYt@>V{=ybx`?LBKn}xYi`Kq4_VyvD3@=%iKN0*Gy|f| zz#=uw)1t|@2HPH|_h$HToip$C{&ml@ks9rqTX2kC1hV=h3=Lt#j?r2$K5K_Lvm+dM zm>u<~eZ>|=j}EbM0EjsnlB4QuD@wlPQ-R%e8QVS4cHYF4w|upE9JTM~H(V?4y;d3=`MC`pBnJ!M?jTP)y@ OaI^nmEDrQ1c;YX9K(^BW delta 758 zcmZ8e&ubGw6z(LMq?@M2n$k$I=wCXwt$h}zO3 zO2Gx8Z}i|z{DD}NN<>6Ny?LwjCQAJWJXn$5eY0u`y$tid@0;&^@6E&1(==b^cVfLS z`Fn<2p0oT2L?Da5f>B=ffczZlfc0bfue*A&T311m)PG*+wHD}92)-| zb`+|$9H;?*OyUPE_&!yuYg+W6RiuNy18rqYhR!= zS8$}`1sld69V6`-*474*(qYVo^zG;MArzWN2x2pBpjF6CbeAG>lLapcv M4OE{taHr?!A4DhkYXATM diff --git a/docs/compilation/doctrees/pages/modules/sinergym.simulators.doctree b/docs/compilation/doctrees/pages/modules/sinergym.simulators.doctree index 7afea1d33d734e8d4bc86de182e7a2332fdba5dc..05d2d121f47ea5ba9f61143166fe75345c6697b5 100644 GIT binary patch delta 1217 zcmb7DO-xfk5N6vheJ!nRZ3VF{?SYsU1SMh&p#thb(4 zG4sTL1W*#x7$u}9IU7$3YT{kRC^4Q$h>7vw>}y}6QV(8scV>3JnfdnH&89B_IzexD zRjklu0!!L{*wVP|tT>pILn-ECHO$FO%+It?s~sXiSRoViB>Ij+$mq2-vntla4xAzR zTl;m5^c-3pB2L=jrY>ga$wzxF(aaE?CWfo%8c+4HYp|mA!4bWcDjqnk?;tHOtA9=& zLr6MEmf@Ckls>`RkKjXv8y0L5Y)N%w6`IXe5Hy@851`j_(a9DOtTauEo9L}QSn}aj<{E^02U;K zig- zrG(67?w7R@;>mp5yREJHA&|f0l1Lk3p=dZcHX2UgujL{TOt1?42TC041z=56slm;n VbyGf|K{jf&morwkhd{lj{uf%Qf?ogt delta 1330 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 Q{amDta6{d(CvboD|5z~by8r+H diff --git a/docs/compilation/doctrees/pages/modules/sinergym.simulators.eplus.doctree b/docs/compilation/doctrees/pages/modules/sinergym.simulators.eplus.doctree index aebb1fdd3a4c50b0a886d3500cbe5d45c6720137..b6aad3642181113de9c1e94b2abbd62e2132940e 100644 GIT binary patch delta 660 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 diff --git a/docs/compilation/doctrees/pages/modules/sinergym.simulators.eplus_alpha.doctree b/docs/compilation/doctrees/pages/modules/sinergym.simulators.eplus_alpha.doctree index d09c30b1d05de3225325279936a56585537f8ef0..9b7eb9d8647f28183d7182a777aff2772b0a9c3d 100644 GIT binary patch delta 534 zcmZ8eO-mbL5O&y|P1Yn;Q4>EBR(sJXDJ>PHXw*m%ix8xE6^wP;VT)0l4aF~vm(oKH z#fb;A0>w2iL|G70r$cYhZi z$?V~3ILcT4K{(|WeFqMB0p~Pt^F9xikHbD61)^LCs3F(Y`Gcz+@ln4ezQx?|WctUp3WkN&8J8v?Jp@R}rx0>^P)vafs*c!PP#W?f^Q!N!_t zDZEq3{wYeNWn-4j;BRQ-x=@cl24!UwwHo-o)_7@!rLrOt>a=dr={{n>FRZbx+Ua_dNwm<+H*5zPM&GGjdYF-5%KyWpCrAg g*_kh&Oq&h05t2Ns#LzkvrhM-=XSl`yUI=&m18=3G1^@s6 delta 716 zcmZ8dOK4M35baIgeM#D+t)vYKiFs{OHLXcRgisVk(9n=JaVr?=YrS@wUu#|>RIOO? zL*Xfwxo&i2DO9C?Vh|DOUiTupQFm^2p$j)UFPIA1T<$q%=FH4l9eEbzSNPpEU!DJA zIAmYs`@s+UFx%zFJDm!P;XCgQT=IsoV2j|oH(-M!P3kv0=Z7SynX1%l5P=D5bHgy$ zVFV6CG=m@Q2f0q<#;Q#;t diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.callbacks.LoggerCallback.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.callbacks.LoggerCallback.doctree index 24411de7d384d80529347483121fdef3bbdc21de..d2b07a41ce2786d90028a9e020cc18949ae83c1e 100644 GIT binary patch delta 2775 zcma);ZA@EL7{@vHw$STZkyi)ZS}0{Lg%-w}+n|$;P#AB6nGxTR7AU#9jGZ(Jz(`=!9~ce7{=8>(S|%lhHwrB5v=ku( zOL?OxBm8*&Jeyu2^*HfstY6r9-c+Zfrf{R_Aky^W9(W_ejC^=-7JOy4>H4HG&tQWY zCfpnp6f`kM88}{522kKbPeH-nS#%gK6#AIM41Ablf-Z{&ytXv`6d799hVWtzk;SBU zNwGTc3(wyTt4=daS!Q$>B>P*$36D&L75n=rM7}s>2#s9SCONlALE7=FWHNL*WaqVf zDxcOHvde*k)_(Lf+_v^V?2Ymfu7Ri6h8A(~EY>bO4;i~HRO4sZNHji_brO%5=3ej* z4UP=^js!x&5)tft^bEEOMuZ{4hOtZrNH9Jj z$|#I^Y*%31u-(zE5l5r&H*r#6{6)SfjCmz;(l88;J`7{nF{p;I6@GQtnS2($@MI&A z1tQ85^$)6-`u5ezg)-p1B0P4-Y!U+BNNV57c-eG{e@(67;0IC zM>-3WjTQ<-k2_=_CfH&!%iBq-F$yiBBgLRs0w#%J3L^-*cr}8faL46f0&x)F42p~3 zBteiFyA|MO`F?o^42g<|lm&{4UyCRnP$~8%R{X9?u~!M0q+&B{uk6OEM=E>Nsu$sh z%0lLP9M#tnsQxCA>PuC-Wz`F!>IG$yqUx21>Q7awuS8Uvp|0j<-I`?Zf~nTcY>K|c z@@|y6_}ppa3cV7N)17?aL|KcTPdqx9RTZ@>ibK-WHXid~YQ4LL)YM#XYgY-XfI@eU zlr8k+C=o7SEqa;Z&o-DAR$4Km+2a0J0yzQ}}N?7zfkPxo(&2jRfUi-gQbgr3JQ3v$3 z)G!WhGz&u~ktbDAo2ZF`u;LD-jBYzH!ucf-0~AD>!4#>$UKJ0kG6$zzF6gYBM=Hlo zspcMOHRwtuiyfEbESPC6(e0277HlxX=Q(NFLV;u{!Z!uJglBn&U^7tHOQpnZm%m&NH?@6yHA;U$Le34ZnAA z2%)a9rn?=X{BZZ7b+%!h4EP5>g40~UH|!rBKjshOE15t#I)l6k3ljTzJzvi^35{eO Q2gqZVjGPOf?dd`P0Z>N#Q2+n{ delta 2645 zcmb7`eN09T{I8W|E>L z%aSFi!_yh#5_NOBKW2hWjSJC*>`&B47PDZo5l3Q7rdg&{|6+ce`#xG8lm`BJ_r7z^ zJ@@|3z4x5EJWcLS6ZN>}!mWtfUjzq>o@doeS{hf(GjP*tgr+hzNrT0rqdB>v*g{b2 z;8bv{`C@c=yH=I!5fv_MMuU761Dy>H@EY{2tcZ3Q0z`cf^>AKqBrn5+H6Ip@xL}@Q-xKBUQp0!LnebEH2L$9%tUQYPwzP<*&7zA|Y#bBelVLlj;nKN` zLt(q*_H0>@bi@6!V0O<68~z4#TWw?(!3qcu)fHwL?JJzlvGo|*PHJBZ_4gea>>U^i z^K+Ebop%!Dd@%-;AHyDZnm+|^HM?P;JWs;E4y85^xgN*AL(N3|FJurIKZ3eA{(|j3 z8>7a>{O>FAAIPI*{KzKo#}Iwo*{4J=gqYLL6saJh-^%a;yjI%R0u@X-3~vE7+7C3oZXFamyi6U52|Z?`C)qSdBr)Og>CU<}vy>lJ} z85$c*KWQa4h%^Z4P}hpnO8KCS&Jn*1CR8Xc!y!Q}Uj`HPu;HY)t?@WApKs)qmtg`} zZv}HY8StqTz;9CEWU23=*C!qS6R_}9J2?@@{4jy}x&m`_HD*MCIl3v#{-#$E^T(zk zCFX6||FoM~NQU`C3e2VTFul+CCCquS`D)309P`fv=64Frxdf&We)dgiGc`hLXEk)s z;iG4-FdCsN@9*5Ez;F9Q2;Q(~RZ;W6wLLbbT9f2JyXkD}WcCKl`n7GhNX|GkVE65$ zO{dMFYo|0~RVx=TlZ7c3xAC8MvIPhiUJ!MIz# zZN)I?E`fc4^lbc>CqQ2?|5y#Y9Y{CbMJfM?J{uNk@1J<@U+kUZ|07Ts7&HAExB4w^ zCG=#g=+}XMLIP1sXB#0!(c$O*RyF-aP5;2p$fS0tcQADH_;6?hA3{7;bc}EYq!9F6 Y7T3u6c^{p7Fa2DmBdFOf?11-(r1^@s6 diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.callbacks.LoggerEvalCallback.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.callbacks.LoggerEvalCallback.doctree index 01aa415fbebeeedb1030ea4f2388b31d8581ff36..7055869bb13dbac3848a9b5b0e621bd140c575aa 100644 GIT binary patch delta 2232 zcmai#Z){Ul6u>#JgT0!q-Iz#baow1s?FO1flo)IXF?=8>VghlgAGFS5z0h{9Z^R8p zJBJ&~9^1Op(!d6+4nv|b#x%r4O_&L0IH|g*iHku<$TZ6|>W4)?_`!SM<=wvi8(;3b z@7#0GJHK+ejzQD~-^B zD~bZqH0f$HSugUFN&4t|g-qf6n>%G)mcGCH5WpOgp3U$Ly;_4)Jr4N>zj2)k>^P&E z@t>Z(u#nz;{2_pA_|jVu=~^XvTk7yHr3@qQmRJ1AE^OTg)PXOU1JcQ+i1kyh{|VRs488p|z-}#BGF0U1i}%Kz{d@<>b~ny8KRe{(kZYQ+yJ=(XCh! zJr8z#Kl&(L8wMLSoTn`UXA^T+$El@q8baon9ld=^vWF?!NE=h4H`n3uw@<+#_9owD ztYt<^;@L6Y|5Ywx1dp6_LSG?bZ*jz74RL)TB0l%dx6qCDfhM}@WaqPF$Bbm*EE!MK zM@ES7Js<`K=W`*xN8hPt_^}XTzBt4!4dQ`92$m;I4Z2Ys8iR}mlMyg~XJO`yFthnE zCfq$DGBSG)n3KaF=E68|m)Za>^s0G9*MupxNYOoJWkpvkBb!cNml~{CKkzVn7=NHW zR#9>71LyT*0*Z}s3Wqc+K7w9D)91*WC{b2f3lN>M%) z%jAY2fg8tNkSq)V77szHWC;En|4tg^A)pUq2-4XQsKyWsWkbMA^GhSokT9|e&-O%K zA6dedGcB-O$n#rqo)wL!L?3bE^9eT|Opd`FTueSI-4QNn&7{0ar1rLv>t;SzEygBA zo^A>wt8gi27jyIE#@EhmgI&~6jmb%JI^<3&WX=4(^#xsWFIG)FQmkGNO#A>l(3yH% z+EJC0s~59O+nLvTxwcZdDA&bQNbY2cHqybAM1u^lH@zTRh2>R1Cobd_WD<{Ebii3^ zr~ouUg(X0z8EAc8drBt4m&N-kfNcIPj1WQcR2pG(CG7KXox=17vC4yu^q6vQ)@7~*8SJr0RKkwbW z&vSRr=led--8(#iV-wiWwct?CX@lPnef|xWR;8dob&zHSP_+}{DFgC>Ip9a3bTII0 zq5UW~57H*EjU*Ll3VOi0XR%or(v^EQAv6lX_A+z{hT7{b7x|QL*@`Z}9UJh^3fzgV zfbv^B1)7bZbG)tu9cFs_8Y&P0oS$0~geFes3L{W+mmYFjR>vtdMFi!sI9D zN|XtLGParP5o61aop1QIYvgx2FKW?8ySMIY(umhexvC$$Mcj1q@4N(3a3P@+XB z!9MsYX%@UK^Wz=ZH=fOV1=_+@_{UtlmuKVsHSY(1y>}dq>6l{~%sUy(QOO}NN2X(9 z+x>YxGC$1zzE5hi^18xC(}yO$`cTy5YueK4-|@Ego|dTz2XWhSXt77m*z$x^a%xa63CQG^jf0!HHb59Gp#-p?tE~;4+SJS!g3<`7|R- zpJWiSgoP}u0KSoCff$|-q6=O)bTb?CPgs*!j&J3{yfGW*KMXTZy|1SAUIQfwE4(O*}0wv^J!=vs)ND7!{|wPDz%b6n^RSbHfQMSMEC;EOKmdE@1=a^ zX6Ec5z9~ojWJir+ntAGG^U{Tv%`uZ*aO&u#Z0H2^CM(g0GoiKI(8qM>T$Mc;s)Zv% zM^IenjqAK;GQ9gm;DR@DKkr4(J38gKa8Z=qll)W|5wit$gkf9cea=e8a)$Xk$e;pS zmphk44cmQ5jf?5c{T6j2Ce~||z1_6eOPbQVKK3DWHa&6TMTAzSD~A6qG}@V`0!vR8DXhD` QRdv#z4WgurXUM@gT)W@E{bUMvT5bl30^XY>0n7 zCl6%`7P3$&qOcCLPthzJch5%kp1K&U}=RHKS76#_mtt)N$ih;KdB z@HJ$pch;x0=g~7hA-oH6CUAlrJof#R&tu1PdV*hoyKPZ>b+-SokYXj*(BmaExFatc zssBhaOci$wrqD!TgI}>{SO*@oGX)oA6)OJkq~1uk?;zx5V`A}dOJ7}3j-x5omnjiOAh*|c=wNJfJhpF*&KWhvzjv&n=%!f<0c5F+qLS@Rbg Cst-;8 delta 1042 zcmZuwT}V@581_5cIos5&{m95|x~Uk`=0uXERML%+S+lwf|4w@H^R!Lb*$fLo6GiA; z1n;pRiiki3i;Pu7N#sq@UE)%=&}dkqr*&UK;#nMR)Wq#T18FS)6}L488O`_WuVOLg9uj+jm0G# zZDN`ETbb~jBm%UV3h|64W@(rnH85y3JwPLIxMteNccZiOFIzkOGNni&C!1G^?GlEj zkWYnfp@G*exFMV%QTQUPk;m}KQb`uUV%^I>!OTYpQVG-=BQN2m^(uJ)zwJXDU4VPG zPO<>Y1tEJ45`Ul(y~Vo*XT>}g&mqm7sxfUu3sas7)Y75Rs9~#3aGY;~#r%`}I_7>i zDp4Dq;;Z4{btpzvJ%fq25p>o7*#Hgy%L4ww40#Bb3r~5U8p*PcbOcAz#D;*G?YSBik?}8ep?7?a*M< z?I&XHx;vkc`P{6hg^<^|wW4)X?L0%7!$VPRDKRN!h6g1DS43ukxI#-2L60MLGd-AF zDGrhr{2dNuSjkAquB4bi|A*>*fV{CWAw`FSO&c_qc0GwhBrF`91Hcl^q%#?Q{cki`Qe lihDTo5_3~aDhpDJr_@f#0!jE4XUNx1(a7T2?ByE62mr%#8(aVY delta 71 zcmdnl%ebtUk)?rk>g;l(ud07&K*ivR!s diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.doctree index 91206c3bdda9bad04791b2000c15524bcc8d640f..660f3bd3f6b55438934abb4e7fece147b443d40d 100644 GIT binary patch delta 3606 zcmb7{drVVT9LG6rFBUD(@~Y65N2#`@l<{(`%6Q026v`Mgn?Yn%Dz`U4#TL;q*>u6U zN#fkEo1617;>=JZZfSJxkvO9{KLd8d;GDTbM9^LrP3_@r{{6c z`TfrKbAG>je|>TqJwAz;H<|Yzyz~Wg4k_ct8P7nEdpndg+u)?UEMZ*V@9i1tbK9X^ zu1$$|`U9>Z*23CZ9jjuktQ?+^ZAMP`61~XO;kjD4r_0q;vjuDwTet>=SN$okW;*bw zojgZv(4`na-NEaM6$=tZ@$|^hM)nQZCAYwHDm6oApjFk5YJ$g9NeG>Wsl+057Vacg zFlX@clTe$w1getC(ARLQz5os(OzTNXtzm$Cwe0@dGQW9gg? z#l`XJIR&0TWN?Ih)OMDUd8RO}oS)Bomi<6KCdz%Zyjc4Wq;v+y7hJn}s8MELWtwu`31t&6_ zkt$GPk1m=Fg}`_Nbm<#3kytK4 zslkRWV<&StT*Nc;ahRUV!AvWf}rT3l=XYxyA=`uhLBTWT|ESw4{*etI)8Bfle3hkyAq>ML7Iy-K{*u>zTwkjbDR<_Ey<7QTQWK_|>rR%h80tT=c0@A*UBEgWBb(@VQY1?`jmn#s3=y za5-iGnqn6Q;478}ycKR1TagWWk_Nn4@SG75@XO?p0beL2cRtjWR-pX%9Q+Hvi7237 zT@FJMRnQza;D_@?J3K1&D>v}k*GqQ^+Sf_vXwDn3zgR+lxO@l`cvRji34ynuds#Ue z!?vXab_u>B3GAl?#LzFMA@FT^mNW!*!oz3F(9RHy2@%F?QVA5sa5NbED<+i}co^rU zy95|P=^TYI93zZYhY!QJd9q2>6p=c0 zxbQL9#lX?iz`0QsFJ)B%Cu-VcB?|JjAf+p}mYj#rqav!*MBe!}dWfgXyU_O>?$!3e zZ0+j_ePp|i!$p@!td|bxx5Gvq#gah%bsT2)V_lmhW)47Uy+sTE17?3TFh?T5m?#)s zLn{Afk?m8!hxQiIgrJ-iq3oq%XzYwdfdV~^!^$iC!zsAmSRhfVNKZHQf!a$`0)R_z+Q5`^LR1-8@Dxhs3Ql#cWcZ41OB_Op#T5? delta 3631 zcmb7{du)?c6u@`eex=>mi^pE=wyt})SJ#b=ZHNpu++gm-GYVs1H$L{QtleC@;RFpJ z0>LjRJ0FA?BoGM<5Cc~5!At-_Of<+OA&O)H0*Zzp1mO>3jOX5deQn(z{pY*qJNMpm z&+nXb+w(m>O8!1hxQ*QIKbD^2P7@eXG;u|OPB6o+Bm-v>a>Z4Urpkc2$y#VxTnTp< zWq?7E3gL^B)k4LX=`TsUUZ@t-jZVqZD`X4xXlkO6BPfMjVV02J2$jm&+^eWuN$ryr za9C;Ac6t`UCS#XNR9#eS-$m8--c~_`$BPo6FhUo;oSI{5*b}jk6u9n3L=o*5!h{w{ zh!f-C{KR;Oi;N~ikQG_ReTDna!0ox2ur0EfT!u7bF5HXkCZFLE4uxc#PC}8% z5Q&V!h>%}LaLWnmRpN1!2J!HZb2dqDO4$M@sM#?EurpfXp5p8i=Do>n>=6qU+e8iK z9>xV9;r1he+p~k%%a7eaPQ%eyKH{uru{8-2ClwPtY??Y*nJs(^r}9!Mjx_;p>vN*7 ziP|21&FU_jrNb^+vmhp+K>LeuL-@5(xGBP^f_UhTO;k%XSd`UCroh3;)%a}ErNZW46P?gj!S9%N`rE?|Z1B;Uc4}7LzBp|9L?#gbI4uurlJbr;^1=7&cVKO6>0V>N^`Y zr{$1bJTS1nvrv;dkQ^QpSmGrLh)pp0@}0@@-EEAKLtunw#v+AL0Sk0SR^T<1h+SuE zDy3otu196i0{Hf$12sX&?~fukAbA`#=SR!=z7DtY8x+@l(Es?L zuTj?-^wsg8510;VVwJ4sqam%_13i(-4Ek!w(96vhgdQ?4^n)&igu)zBj#dMqOHdO8 zx=J~=$m8IdIodzng&-D{DGHU|N?$@b+?8&k{xkAiR0gYbD4piitaX!j(A9Ff*HD>} z=Q7Ko6#BX1UL-FqY4;<49|lWG$N*XmB;SdeAmsZ-kr%Rbe>go=PWKL&R$8ps;e-Cf z2fdBD&Y-u92mN#DpyrYr`Ww1hhCWAS2E8R@=so2Qgbtt4;0OIDw9a^rJV2{~(DzXj z1p3)1=yV2sr99F<-FM-q=i3x_edHRIH{G|X|BQTO9CFv-%xt1brCW5?WO!|s2R(_( z41FYI^xtMR`~AF|;n6Jfn4k9-L98&48ayR16ji7R5{deey0W=!Oybm=&n2(KO&S2^Pt18NmTd`LKxAW`CUN88N4}3RupMejI2Y#Y@oo3iQ zc^2|(=8zinE~)8w&O9!unLx;&Q3W0^db!^OH6v<7^m)y~1Ll$084BEDLa@PWQsb!={w zTfCsB{e4P{Bu;g7*!iCJew(S++0p4RwRPESU3SUh>aL$a$Z^-}4Yh=9a9wD8sx-e$ z4KKlmL)6+WHs0Ca%{%Z*!Ad6@9YP8kW%GDkwJ^uEe{m{VAZW!XN58|#+g90lhr`m& zOCWh#CC>-OsP{OrYChWT>FlttH8?Fj?Yz@qv~{iS?c_~ZGgC8-h7O0p-sLplHv!+n z+uQin1=2f`@3Tc`y+@;ARGTm`cUWM`M6Q$X<2$7~BC4qClBlX}tZ9-&wWF)Ir;V3{ XI#Gp3^0EO#hU~5PBAg|Z-4 delta 69 zcmZ3MJ2{u7fpu!fMwSr0&DnZ~nHc*v>l=P$R?A>zV8}`Z62(27d5O8HC6xuK#Zzjh WWPv37iZkSEr)XrQZuT;bVFUm}z85?I diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_current_time_info.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_current_time_info.doctree index d3824282ecb751280c80a902c1020d82a944ac7f..e802db7df0e41852b7631d36139a3d736b738c0b 100644 GIT binary patch delta 82 zcmcca^~#H-fpu#9MivEGo*w?Z{N((+lGMDC;?1(MhnN_>Hb0R6%B-fs%)pSP2qcPo jIP(&7Q%fofQj4e5PRRmE_!Vc!*G|#MQr!GoIffAckUblQ delta 69 zcmaFmb=`}lfpx0SMivFx&E~SZnHW7cf0qBstftJ&z>uW?B#L`D^AdAYODYRei>K61 W$pT6E6=%rTPSMCx*vzLA!w3K!4HdQk diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_delta_seconds.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_delta_seconds.doctree index 751dc08013227aab6b6f0f52fa1a880bc787e0ee..d4feb48b8fecf3a6f0f8b2f818081ab8a462e778 100644 GIT binary patch delta 82 zcmaE#(Ui&3z&f>jBa4F$PY-`yesX?ZNorn6@n&0{T}+JCn}6tiWmXGiWnjn(0useN joOy}4sU?*Ksl`)jr(}U7{E9Q=Yo};r1#K2Kj$s4<$pjoL delta 69 zcmZq5e4oM6z&bT$Ba4I1=5U?OOpH~Vx%Iy?tA(&KFk}S+iQ*p4yu{qplFEYA;wiOL WvOp4k#ToLoQ#7&yH>(-PFaiK3UKU#b diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_record_keys.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_record_keys.doctree index eb097c37d480187ee51544eb30c8d633ebd26fe5..8be1ce4dfea85a99f8a0484080dcca0f8e1d1727 100644 GIT binary patch delta 82 zcmeCSn`g(;z&cfUBg+FZo*w?Z{N((+lGMDC;>~x(wlOhI-8@C|E3;ZY69Yq54v;AB j;mk|SO)aS`NG+aHJ0%Mw;a8j?Upqx3D`)e1*%(Fux4Im_ delta 69 zcmbPd*KNnrz&e#-Bg+G^&ELh=Gciutyj=1tvsxY#14C9ekSOlq%uCEoEvYO>EuK<4 WB?~0sSDYbVJ4GWad-EaL7)Ag~?icR> diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_season_comfort_range.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.get_season_comfort_range.doctree index aa04179dd6a27713ee723b0f56b45fc4e6520ef0..d5c786ace83a497f9443bbce90fcaff8b55fe118 100644 GIT binary patch delta 68 zcmZ1*ejuEsfpzNEjVuMqJU#q*`N{ctC8>EO#hY`LPcSj+Z#Gl=%FM>e!oZNlHrY^1 Wm>0zKE6$LwouZM&wmDEMh7kZ9QzBZhtfpzMljVuMqo7viXB#L`D^AdAYODYRei>K61 W$pT6E6=%rTPSMC>-JGHo!w3Kz3l+Hl diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.is_wrapped.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.is_wrapped.doctree index af84646fa5587570130d84db72cf872fe336cac5..cad4a3245b57a24a50e076dc8ca1f2adfc54c1f4 100644 GIT binary patch delta 82 zcmez7*y+U5z&iEcMwY7*JU#q*`N{ctC8>EO#hWiltYKn&x4B;WE3?`OCI*JAqd=m# khchoRH?^d)Ahmc(?UXE#gkN!neC-sCtfQM}$;U7P07V-gg8%>k delta 69 zcmeBl`sT>ez&iEyMwY7*o8L$*Wnz50d6M*3X0_u?3=COEfJAW*XI^4%YDr~5YVnlX XDOn&1zv2w}+9?`YM>emOk6{D=$PXH_ diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.parse_variables.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.parse_variables.doctree index 2da5e11c32b26c06441d1065261a02977c3c9986..300a7b9191269613a0f3b18c1530a703f7afa3ff 100644 GIT binary patch delta 82 zcmX@$e%YO+fpzMMjVx28d3yNs@{{xPN>cMmiZ@S^-p0hJy4h3iE3?{vCI*JAKR}|m jhchoRH?^d)Ahmc(?UXE#gkN!neC-sCtUsGmlwueG2elrl delta 69 zcmccYe!!ijfpzNEjVx28H?NUi&%~&*IY#a)v)Vr<28OKPK%%&ZGcPeWwWP8jwRlSH Wlq`^hUvY+f?G%ly-lxSp diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.prepare_batch_from_records.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.prepare_batch_from_records.doctree index 512f28d8ed5e2650cd95bb0b4c66e92f32eeba74..211a462147dbac8895400176f0e4ef96da532b29 100644 GIT binary patch delta 82 zcmZ4Px66;Efpx0>MwVxCJU#q*`N{ctC8>EO#hV|?ond0E-@HNbE3;Z8GXq0b7?3FL j;mk|SO)aS`NG+aHJ0%Mw;a8j?Upqx3D{S*=)fh$q;W`~d delta 69 zcmdnxx7?4Vfpx0PMwVxCoBzrkWn!$`d|2@-vswf*14C9QkSOlq%uCEoEvYO>EuK<4 WB?~0sSDYbVJ4GWabn`vc7)AhY)EIIA diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.ranges_getter.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.ranges_getter.doctree index bdd19e903d709baec1cf0fc6a664ce865aa97b1f..db1ee3b4362ca1f846a947b798431bbac2692652 100644 GIT binary patch delta 82 zcmcau{G^zrfpzN5jV!ASd3yNs@{{xPN>cMmiZ?Ge+{DCqW^GlQ diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.common.unwrap_wrapper.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.common.unwrap_wrapper.doctree index 2fee00981046fed941b0e0cba46c1536be985016..162bb202e86b40542c173e6f993f68a6281476dd 100644 GIT binary patch delta 82 zcmbR4vdV>}fpx0EO#hYJCZee0%+PpyKE3?`iCI*JAn?Rzt khchoRH?^d)Ahmc(?UXE#gkN!neC-sCtecy6E5tAY0O5TePXGV_ delta 69 zcmZ4GGTnuxfpsd+MwWMyn^~pSGBGl4-YoN#S?x9x14GsgAW_`InU|QGT2fh%T0Et8 WN)|}MuQ)@#c8W&Ujm_s2Vi*BCnizio diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.config.Config.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.config.Config.doctree index 6eb98e80d34e37cee96a2844431c9721102fb403..d11f6979030de62e7f4fb2a45fd3b3da5a489318 100644 GIT binary patch delta 13489 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 KJ5Iu_?7slGZ3%7w delta 11747 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 delta 729 zcmZ8eO=uHQ5bjI!HvdsEiAvUH2|^Q_9|WP6w&D*JLrUt!lSWO`*Gyu5G`mrw7FtDZ zaW69KT~UhCDwWt`rFTIOUW=e7(VHmJyR)kz_VV7$H}icn?|UoB)ij^x_n+^0!IxQQ z&32jbeGrB;-t#Cdi9Z5Od>Yt;iYYG;5iGS^*#XItZ-<2UI5w=(Q=oM0)u?pTk!0!Q9}kS-l< z)F;a&Ucuq7vukg&5?WS_4)7U@rl>>4Wp6lejk3S?kY*|7VrH?L? zlC1PnREg0+-d5sPbrWBJY`W5uH&FKP^b|m$Cq(mx9>fQ>5T5jZWec6*Eg8nN&Yi6r z-RUt?a+D5Lchw6up|vjvm7J}Zg`5gKBxluW&|RN!ljZ8&%4xQg3KVQ%s7cs29aV>i>_e ze55T*L!C)7;=}Jm?$>!$ToP3y%XGWBu%X*CxnpC7E~$-HvnUM6>UJ6{sKc~sortaR J0^SJi{{;vw?tcIP diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.constants.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.constants.doctree index 98f71ffc11bce1e65914dc92616b66118672e72a..f5c7572a1e5f3dcb6c3adf74330cc5f36b51f20d 100644 GIT binary patch delta 218 zcmbO$HCKYQfpw}7&qmgLjFZR1Cv|cR zqsrtuCKpD($p;t%kP{CgIW1uGNiKQD$uD_K0Pc55CjbBd delta 405 zcmZ9IKT88a5XHH>Y$P$Uu#jM4a-2aDNg|@HVqwG(iM^1>CRsD5_eXB`gcJcSM2qcq zErXvy(xRDgj2F=*x|>fwps6OFbr-Ee7S_azkwYPr zpenHLh-oq<(#fKz=vD!P*_L1_6_r-nk|UeCeqY{3{_S7?qjtIrb%?i^#8Kx!aZ^wR z16E-RDy^_fAUBdF$SXvK+8zl8L$?|-+o9E-?@@+5MkSuy8%Mf!Gxd z?<;EH*xs4Ra4;auv_wrW6fM)Hrsp#=ASWasUXS!^@>>4kvhWeTEb;R)b?CdQmNt+> pE{G$W8jnSBC66^)dxw(8sUHSCBB9A+Y8g?EXz(rUV(~h=`34axEld31%-p7l`!FR7G5Qgsb7mig@!b1(r5HZ=q4&Of z&hPxrIlpszC&tM97%`2SCqBPmdYGFPbw+v*^+x);BK>{%J2n`HYxOS3&a1Z`rW-b> zZq^A^r7{#b(#->^pB;q3ynb?2TgqD^S!Z-a6t{s+b{037v-#nME6x5g2OEAZ{J5K# zE^+_uO&)SZFpj!?)~|GeFO3v%)BP;HPQl^b0WanMK;}Uy2-0~9x9f`Ks|4#&*aD9U z?Il>+1tU)8*%CV0EN)oM93(s*SSXmZ{-xXhG{A7R)&{eMG4i`%v9Af|$x3GQpwD!& zFK`PSj}OKDs#)ErTH4}%k>FzJa*Bt!BrFY`YHn2OIMg2>i?7DGnHw_wvgBvqz;scu z(Rv;lv*DwHG;G}_vmcQzYCG0-^0Z zt>e1oU6i!ZI;J0v3w<$HKD@U9}?;||0q?cBj^eh&Io#n!;CFgl?t^=K2 zYCgYrg>7*bm7vGD7nU|>lM^6?YwS}iD2zQVK|w}791Oo58v_beMB zQKgjLL>5+t<9&~n2$1vO-RgtyYJBtwL1gIEU{2BL`Pyc(A3mt9p)DK~APsPxeXr=z&grILLwjJR8Giesk%EDGXuQUYD7@9t*VBxyUfqRALj)rJKE_ z*U5OD^gM617z*kwbewAtf=I5V{B+8lUgz4WMf|y2gpqnr`63_70Y2zkSTK7f`PGJB zr`W4vZHFuMBjrDHfPgL}q2g-|RBPLg&p<-E+|WWunzm`j1L?`%IQ|!0`l7Z-M^9J( p;L)x=e0&*q?CVnt@&6$FYP#B}?qd0PW0{vPQ7oUuw4F_@|1!@-HESZ507J z3q4Luy6-YB2ySgBQ228qylGk$pQR5)oWW}qpGbeH*iAvenPwe+>No;7#7oN36^8>( zZPgi-`>v{gk3PPG>7le&*2(K-{f@L(@kx0(j}?5p!pckWwaN-sroo$eX2vh!#Y(qf zsS>LOKPz^Wr`A8$yXWbByVLwD5~d8wt1lMsPje4ey4vA8e9HAX+>O=lRyt#De}0oD zSDr~YacAo@l3}SnC;sM+8y*%+JMUCjqDYgUAD}Qx&3Qnfm~(;qSy+oMpC3AM4#ViGFUEmdD?GMD?1nI!f&qwU zIYLzAaZtZ76_i#-cq?dOqZ;fpbs~f;FpSnvG=FM&;$s@DC@jap(DTw^tumPuxfOe# zhxTw1M({*x>9``}Ut=s}#`$nQE=Frun;Js&twpz@ZevQgeF-^a^o&fF!A OQA(PRXLfFV9R39~3g{~U diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.controllers.RBCDatacenter.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.controllers.RBCDatacenter.doctree index 436b8f84ad7e7e8ca4d98f8c3bfa44e0504af621..58d79180fb6bd83140434319c6bd3b553e84a676 100644 GIT binary patch delta 1427 zcmZ`(ZD?C%6yCW>+M708Vs5&&$(q|GZIYYY+;nXfv9-3&4=~&OBjO}uYrBlQSDRLo zvRRPLs;q@D(34F?=hr_GHb$U7#6iWMgV~B8$Y6Dop~7$lzt|7!Irrvvo#3DMyze>B z^W5{i_uPBs*sWvklb$ozFS>tGd=-CjYGSHbE)>fpys6~npJB@uGa_!{+Ex{p!*2Kq zi=i_7Ub_+c8-j{tRRa`e#zlw%LM(-sw>M*Ft4DUqwM=U_xQDrXx>x|=v;YQyC!+UZ-4c$+axWC`#_fnwe z58ywlic;h=dDhM!XAm(P@M`1?%6k8}E=?U3L*6^9IJd-k18QwoSon$?ag^uU$Hf;K#`{ z?MJ(HX`fv@(bysh1K;g_5)R>N_dMiruckxULgsNPp~D<5Yo{pxTv~^-_55W^=R!Ks zXud=Dk!G>9&*^~L({O+42z-G{sR}Gwl2HV|CZi zJ@3Tqj3@vA delta 1375 zcmZ`(O>7%g5YFs6?xu~ibv7||?0Vz4N!H#tcANkLw=`6umHGz zWQv5Sg+N6O95RmRAu4TeGzW-QIUsSM^i0|a390GWlvg~TJ^n~P_;wM5?{CrJX}r>_;o`PIWw#rYCx?zdZ+jLFVlkG+Q{nsY zIF@=$T0e;knmv8&k;P?hqTp|ODi5|F2Nj2FJ2k_qZK2OLZ zIrZqA|JCxzm!@B=i=)JzYjdp0iPKYcagFp1cNWPlTIo8)aXMLVi4%A!wh9+8Z^uH*&Q;7Oh*e?#(ldY+Rio@&Q1+&GmC9jozx5^x=x zDNe%=<4Hwv9X@jC_)t|e$#n#H5R#T`r9_Lpxo--j9vMI0l7*1Hlo$YMM8>ra4d3es zK^hfa|FXEcUeI|lKIfjv;b6G>C5G(-Fanbl%E ztKqFpowBHTe2cg*r%Y*~$(0H+E=QfxTxmHP!}SgYvxZMfGAY#_qGXNU4LoCD|j>or%%hlJLTxrEE`A}8k8|!dMdd1mN*^2Uv#g5fQ5QAnJ z+OTRq)owHh^op8&-P{36m(O|APF&9L^j`oK7t?RkeUYu2E@<$U5(Yj${5p)|&EYZF z#ki7h;26v$)B)E>&_)w8h!YtNhHy5Mha!`E8p#TcWNs%+-HE?uicrD$h>5Rd_lKRC zZ6jJ^W@jzKTBDAq@lH1EpLX(lZzPEe6gLDlJUlX{zeCu0@&EBxM#3=7&63hqIU>$% zR8e3+@l-fQoO_K36;I{HRE;}!XOXWFpBwF#L=CU!^xhgb`wf3(U-0SM=IJ{+y({jb zfAr1Xn@!TKCdoN9NcPg`X@H#F{pdk}zwOdvf5_vvnfWy>mASU5iOKTJ*;mRH`g;fl g4p*!gJ+gya?bc4~84=~meY^yzMG>+;c=84K2fm(et^fc4 diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.controllers.RandomController.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.controllers.RandomController.doctree index 55ff73563706ca08014e6324c3194ab29f7d8b42..460390010e7631091683a4ead2897f4637bbc1d7 100644 GIT binary patch delta 1234 zcmZuw?@Lor81CG=xh=LS{&t(YIdyKkx@AQWX^NN?h8TztxlC(zJw^{k0TF%*q(CB~$lkNNI}7@-bI*OB=Y7ueyytE)vJ%mp z(q56KHCGFA6WO8g;czGx2*slK8yc1&;wyni1>5w^+`4s=l{Ue&t(-JMQDKaRCP#C5f-9J+I|O!OIRsBR@_;1V;CJ*FrmlrzWSfUQlxsMJ0n;W=4gG`&h= zO6BJid{pT53loRnt!visMG;z7 zr>BD%_bB-c^`1VC)3A|d&#`n?y2_XyIs*HvJ(tC1k_S7*EnH5D1CyeTTSa>g{fxr? z1@FX8uJ#`VuO_3=&$Td!4Z#SFc|ItuDe^7h2~@{MI)d|;-s7Q7*b?uR3KQgjd`4dT zI2i&@a3=n=OpS?jz@DG%G-waM53R;Z8`fNVS=pevW)Tbzl?b1C_?W-h z6k@s4*T=(#f?_<#>l2(EXpL@1w^U}ky3DQ~cW3F2)Y_F!uH%{-}g{4Y@$PS zjP7S?Ixt?<;@&xGD9plg-&AQJp5vIZT84{Q9yjw(($RQq=J1SS6dA>abN7sruPLK1bg}Hh3Y7hW--T-61wIUU#aRL{ z?3XP~e-$*9R(ws!M9IPafdlE(zQN%cCgM)Hz4#UnC-AhWVNXcJMfnOm!*sZgtS#5) zu;uD6n5Fm$FD_Y%^UlYd8el`@$ao^^ zmIlqh0A7f;N(W45FST!|eBX53KpBmO!%$gY&L8Uq$Wo6=JW?Bi3|^|edXa8q8AMgG(+S`9G3Bzk=6Cu_Fx{{9ti}X$Q7NL%6rh z>0y(m-2ZecS3JUy18m}ZGieo(M!enl2|UIgbpQab z>iM4=cgLO5D^60`7=92}u|s_u zmc|p%Y*TqnU9@WsLMK5QZmvvVv;L-Mnev#EulFN*HO4(EmBd|owU89?r+O9oh#iL= zxTv@PKR41;4M{xR#2-qLBf#41&NL+Ggs8&H{HXY_$tgT`;F71so#HAB-^qbtZxyvj zCgj)-nv}gw<1pm6R{OSzZsV+tEPmy!#tohjE+jg`S8V=Oo1ecG_&KdP4KS5E|JGK3 zpL37a{^{8KC1=i(8JQ><-k0jn9?JBO(7R(C*fwH>=n3X=!)3G@oh(QjW)W_N__8v& In)UC(Yw3bpHvj+t diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.controllers.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.controllers.doctree index 82ddc899b349986a5a2ed9acbc3a7138af8f69c7..c91ead8ec93dcd502efa7c7ee263d4205971cd92 100644 GIT binary patch delta 1077 zcmb7@TS!zv7=WGKoxQJn(=2zrB-XC0>r-GCOC^XxIHDyKC3!nJJMP8y?1qbU@uimz z1^uU>0u_Adp2R*CRAgch-Asa@9*Q9Fv4@_F=s$;DQ;DRPnfdSkH~-AX?Ju^{GxSoE z|2~}|Fry!|$Qxsc{&Z9f!<4CXy~2z_O6f_nAPX}ev$GneXCXNP-J}{4`n^PeSu#v_ zqpbzp)=GC13$b0Su9f7yq1CX1?nkLzwUaiuV~CTZSsxuCmQ$!6N%ykT@YWNA=SCOR zH1NsTPMV?KG)->9cT)wK0=Kz=-bL@5n8Xhea|?M0&GrzyHxH8Q&|=AuNvL!LVA@^f zP+OSGwJ@O;-7toc*Ralb&8Tux2{Ouz%+#f@W~>{yXf@C#boi>eQq2{{t(BoGsJo0o zS62oF|B_|FdW777J+=%;y?qsOSjP#JIcg1r6cngEx)7CbLLo={ zYl(Jo4O-riYs94yFa9racVRCQKPx=AjQB8Yc7{mTD&j-`ARbsrT#LkhC~*~OBSqRy zjka?+ZDxs^lh#fO&U^$b*mtav=Ct&?pcEVFd+;iB?Sw-OQa{D~YdmGI&YV$t+G=C)m ze}o$T7#A$VpJ?V)8Aaw-pKN&-E{$@j6p4$;flMr%PDP?pxGxb;B@@x8n3NPTJ6dEX zWGs8Wcpo8!*$?Y}=)((Yfp54-vL)UV6H}QXQNmBaRf8b0a!jt-v1}uJ)>Z3p3+l@( Vyi65+Dj8 zy0^C)4_=H3n1BhSY7Bb87%^y!#Kc4~K)iY}F>1W|c431e2fXagyqW+1&F}5Jov&Zq z%M3C%T8gKc=LD8@8K#E1Xf?EOUZ#rrr6{zMGUy{5Ogfv*l#|$WIMvOkVSzX~X-7QS znThdLFl%(d8D}v|4{p@JOA>R_M#=`$ayUbM^cec*(h91letLjb2H~21AJdM(b4pSY zf-m|6iDl0kFzIy+k7goNf(GX{C@CxemMvh^D7e^@Bmi;t8F>u5j2`k7T8wqf3@RR> zksDU5984SQ$s7z={7_`-ArD~C)JvwIEw@}pr@&)#!xU%8Lrl6vE1L;Q?<;56K7pfq zn0B&aNbZ+?l%Xs&w#qcHc8q*Qhvjk6uWF&x{hFVD4C8lEJ^r`aw~3w493l^4*nGA(Xq*U?n*@+UW|AR;b0mDzIQdSC4|@MhL-#3tQn94rwxzCesr9 z5B|-(2;%?BJN*Yfg^<-xgn#h6Ho;FT_$Cb>s`G0#@Q4Z?*$6(e4&J5_sNkWkg5T0) zD!3xkz{wbRxH9Gre*IC5RWKtsx&p^-dzc{{^{bb1+~z9k!e2=`p1PGwThc1SZF?~ZXJ_oW zgiK`Tikb*7jUc|dDC<{T6mY{>Wj^2&5A^X$mAvWxO ztJo{1`FLBL7sYTlgc*BfK)bnXP2!M_97VTOESl)?uKp~%rR)C*XL+eNDtZ&iv==Wj zpW+i8d}lx&me*U&C0x~EU9l5Q*ki)b>cm|qF){uEACsGjWKa$)ONOT4;S;jNipfl> YgO_QuWWcmM?og^TfWk~93=a41--sBKTL1t6 diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.doctree index d883a25604c7c5cb01de3f5dd33f6bb69f34e574..984b41819d2b9cf074188278575c7b8daa2c4f1d 100644 GIT binary patch delta 3338 zcmb7{du&rx9LIOs-qNo0G56@YcI#L>?CQ3TIX1>RHo#?BmX$52!62Je%I+?EWe?3j z9*ck(se$k-644+Jjl(Ci5+4{JQ4o<0Fd>1MNXQZ*iBn08(HMijbM9?#S6gELx#ym9 zf9Ll*-%o$Pb57q5l2dyLx05?q+%&}eqHfEldVJ z{5-c#rQME0TSuSdcfb{u3ry)Ij*UQZdIxEQX|n@nmTN$%v%zQS+sIqs)p^K!(5tKA z-ocqCF+ed)>q^Ndu&Blj&V>(?H^5}*BPZad#jM~@9MBi)=>o4v3p^TGlH~}_e;Fgc zS~4Em7IN_%ujUtQ2=R@uNxzHx3BTTo*pde3b2ifF*j#k&ehJN9L??&mJ8>oOI%jAh zlh9aR1cOF3bQ$fscO#PoJxmxq3L}Az#aZNIxMZ}eQJ$b9u*B(rLJwy;7t{^~Hf`A@>RE^C76|p7ns6tyXQ`kr)1rMmL>aqy5yXy6HIBxD z=tdAWwB}$>ra{pY4)-t9bFBW3+_gr}0Cq_;!n3 z5`KmWKNA&xLl*uKTRRheI*D-T&Fj?uA?p5}nM=CwunyCGI#u1*t!q(tnXMxx{jD%z zt0MW(zBpUVep=ju1uC3Qn*7H3$$vjo&MazB^{jkY{>i0)Oa1Qgi{xM9ho&A7RU z6+x{cS_JngqD5fD(S${?t6-D1olda|K4vb-Ze<-cEdnERo=O$`Wv9B^3S)JT!pXua z@=ToW;Uv1p<8?n#I8XP0s2iJzZjg2N%DQ`!>3*%~A6(*b#|tEkODM@WO$~XMFeS2> zWR4{kugffYQf4t&+@YI{Y<|H87*EfIyT$47OR*y+D{g{q@q=VGj?RrFbmr#MvA}P| zme{QLL8OCCgw9==&NZ3N)ns(CUAr_nN|qH_aLnZpL68jk&T`^v${gklMbPP1!{w4i z2%a7dV$YJnwn<*z8S3C6w};fjvC7yAsm0iKSmWdp91+dR`I|zUJC~DdWT}$Y2w4gl z6%G?UCmy59*cmQVQbkUh7qK+w$RG~VNc5P_!K+GPdA2FEJ0zdqR^d<_BDe>lV+@hJlQ4&|IkQisv@c32 zEK>?neQf)jNJ0sot5~7AAd)#BL*{Ih%tWeWE-z`tM6p%2#FWXeFj!eZ?!@VyyNB+- z<83*teqsB>RScM|+FO5`+oxZb-n5B-Z{{P)6 zl5asT+bX)MH3zC4F*`_|JZ$|>>9oL>>LsKVgJ&vTJiA=6P*Dq1{pW|*P9 z+8jfOtcII4R(!6k70ahv2GmGpvc#yz!9?W)1Ivaq+eJXnQfqcY?Ul-JjE*o&_0&Db zFyUR33*lXJ>jAwD-mKMgW7v5bKCP|gM(}MAZ>ITRUY?iLk3Du>$2%{2^kMwIaMSWi zMaS0|a8Jl5oR!*hQu~e6o|oEhrS^iLS_XS4A1_Q%*e;4Qn-!NZ*-r0AI>*cjU^@x9{ gJ1_z>Dl73qgEF5J)}degGt(EozS>UU&!(z>0YpMZfdBvi delta 3523 zcmb7{e{54#6vw%*eO)_7*#`UBZtc1;%2+oFgE2M)nGQCjgGdaC{3`6h-D4Zrc7zE; zhKLB&M9zbR$R9(9XaE@wjPlD#{6V5o0g+!yki^Iz#LO5b5<)!pzW3H2c8U9^_ukWY z?z!L3JLlf}x_6SJVIpo3_Y~Bf5W5H{!Z)Iq+Gsg+Ryv6X*44IxyS6AhoYA_rsl7$= z1e@EW!0L|Hvi4AOOHct{ZJt1%V$WIVu&~(N)+B9!-m39%os`th3vJFy8%-opnDqWj@kcXxvMs;%|p6!_DNpx0`IV^&AX8Qn?FCGe{! z2YN>)!9%N+*x~7sqYQ5P6{JpaFp+XLTE?Yb30nfvs;0HA{^mACE+&vx>@nYkW z6fm}|Muf5^YhGp~J-%b1SXO3+v!QcZ4*Z^FB|l)GSRUV^C7#F4I3ChY+QrE(9To?ogoX%NlF$g?OhyZD6E)B&K-JPSjFk}>CZOy50J-968hq?+)sq%5yKMM5^~^DQBL%h za8E^ZZvah-VIUQLR}Gt@#L~+9QX844wozIFdoPOPX>HnCh{vqtFT|?v44O^ zZ-mD_ri5q9-a&Z4rShlD*Hi{q+0z<>%dF2C>>VnDeD7S$64_fHrTHDjPsvKf4n3x}T?uvbUfZT~5p7vSP#udoQ?#~dUJ zjqD(agR_FeiJT;tCg(;@5;7mkD{aDjBRfI)NfL^nnaB0y5xmCYOc zaVxu~c4%kOc5dP)Xaf%+azyO*DIUPv=ML=I;o;N~;&vRp3dvPfVkh=Cb$vmakM43mn>q!*MP~N=QtKeEPz%o15e!MK%UY#i(7#$z zK+%&!zvah`GsD$$I@U>nmgcrK&X7N_S_(N`2|tNk&gP)AZEeVj7jh{ewXKwz%3?08 zMw|S)$THpJK^WUaOe@C}u|--hwJ38**cie%O4wNMt7}xkrr_H4z)DG>bHhfAE#VW4 O)>e_Fj2|99Q}Hj3D~)gf diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.env_checker.check_env.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.env_checker.check_env.doctree index b71e0f3bcc8560cca0a1d166b9a5f8cacd17f601..ef52f8172c969c30e96f54b6a52f73d8de4648ff 100644 GIT binary patch delta 69 zcmewxJRyX&fpsdY)<)LLiab61dHKotc_pcNCB>UBDsEw7tk~S9@|Bq_h?#*Q%YSmC XhA=OP=~tW~Upqx3%YXAijTlA%T>Tdy delta 70 zcmbOb@;8{ZfpzL9&5f*=6*s?DT+75*zImp~S7x<9W(I~VKOj-u!_XH5>C`s;wS2#L|e`k{Ce{!QjVDVz;GGddeYcbX>nuHy#wFiids$ zMQ7WS_acazZfR+0rRiPpZxEq3Ppu%mblxgCczDB`ncv5};gyqz39%~PwKSH*DNs^O zQQi})N7X3U*#&IJ1nTI=`>4=~k_W>%gAl+V{i%Kf52+l8(2k<{9!X@Hk%M%gG>7}~ z0rp`$4HfPe(I>_^8)J$tBzlB&br$BGx9T=%Tin`M7{P7o4YrZttrKpAM!k<=fIfMD z!x8Oh&G3tUXx-u`qrbb}cYOVDOwWAp;TxU%7U45tt;vyx2*@GMu7_}>ZA99Zn7hwT zAKTaL6}t@us#ue;ae#XK&sF@#?Mn#`OR$u9aV>Ent6D`uT8KSH?^fy`INRX5eyivi zotw7obhU&Rx%`^e13ls;-_{x4-LS?tcd1tf1`o7K{@@-z_G_@$+XYossGFU%*%(cl zan8&H2UasX+|~_p4kPj{(F}(a4TU0*b0$K5fRa3PH_){tLgo9PoX0tQ7 z!eTyW@fJ+kFf5F+h}&oR6b*Y~F-&FgE^p@^pB6r?8M`PZt(mzo`<0xg%tZbd%g*WT JC{UoO>pwq!z(xQ7 delta 776 zcmZ8fO-NKx6!wmD=SOGE$dR-sK13*!H@b+_w8R#b2$TIRgfJP$n`fRgZ}Rp=(ffd<_;6w_G}(}^?KlxWAJfp#2B zv;^RYYDJ;S=UHn?%;N&@#O6S+24fIPxiYN)CI}z~JE0mnVHAuM{tOOshnllQr?Uc{ z;1)YqddaV`=uK)bd6RGpMYxxjE4&jPWnK6^{E@xFcM+Yv!SzTFe@&Y&lwLd@9b#{B zF}lc}qft|2&v3cMq)3wEN#gtl#t5VBCyK6Vjj~l@c-*ld&&nOZAq3%Z30*i}I~y}2 ztf~q$Gen14uU7zm1;DKS+vH^oh0j+A?U7pK4=G!so`%b@IKM&FBCf>xxTNfAS?8Ac zwuUQI{qurgQzYav?vLMPDf|*2s2!@X@2e1LBjz5;%zg@Fq&ZNYZn!U?MSVu=xb&Ny ztR?K}V&3rFY|b%+HD_c%WM+gd)1}*W^v-Lgdz*$CyIA^F|D(EVQlU>!aQvv1&I`AA zS~%p2sRk(rS_!#4C(bcAR(hXkWup-F>ztzFiu^=gI8J(6NR%7R+)y|A2M-apoy%G? zx|_DAg{!ya3sYWB7`QpoyuD4&I=WSGb^7&$Ev$@~O3DlJ{}XBESJI@MjwI=QK358@ w$LBdQCvtLx`9URL`oZDUfy2@dIR($o2ni?sAkhliP#%7wi{4}!*Bf{J0Y?t{WB>pF diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.evaluation.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.evaluation.doctree index 13589aba653886005cfd0200334eca718e531d52..8b30946e88c1ddc3f4f66af5490d56933bc2d97a 100644 GIT binary patch delta 576 zcmbQGH(7_Zfpsc}*hbcajFWFMXHAx6Ru;}+^DCK>Sel`cp_?I{!IPnx!92O1DUZ=_ z@?pkltj<6&$H@mdWF{YAVG*>?(8{pO(D7!3t4v_AXAK7O0%2+x{U;w~$zzP)Y{I&P zk+TjcRb85tQ9t=1n*}SFH(8E7fYD)cKKnby)sy2m)EL)KZsjm%T?gEfOK zgFSXihQs8iT+3Kr0A-)S)PhaOftv6bCdvvn0b~Q~OrYv%aPcWXUNul$X0itlFKZ=` zS2j6{$C9-K$SMG;lAXMjM@l3Q$ODHQ&~-qw{eVu%o&1<*BctBrsk}BEii`{l8PZvD zlP8GDhi6Fvd0Emx0vP65GGHk*&8ZnOAYaJE0tuTQ$>Pks)S~ptT;0-=%$#D~)Uw2! z(!`R?{Jbft845sOD#cFek(_*yNosN$-*d)!oBjAb85z?z&k*>^tm_1_%pOP-_i*MV z=BAcZ7Niyf!zc?R;a8j?2eb$*4|Iaf=Wwjn9v(deIcG?|dXC|@`l1Mh1 zhv?j1>>;F(zyf6>B6_fwdhR78`a%Cd1mQz3(YaGm_;Bx>^PTVe&b?Qn4acB2iz_uJ_&Ea4s`l&* z>YB?6l|XyQj9UbkgJ}ry3qM#tq2v*SQ~Ef|;JW^mJ;(dC?d&DKuI=Y9i2jUROl+we zU~h1$ZkavB1mCZV8{DH^QH&#?5QQctpJ(cP+{V*$EtUsHMAR zu)ThjZ&UTV;zi2&Kgw?k;gM3g@>OCzh_Drk%7mGCGnU{>lwHSrvBP|kq6K1@xE)J2 zU8U^rEXXrU?XO@ezQK;*yZF&qhE-KT(&?d(lBAsuikwc`XcA6WRNbK$V5-BnOiIir zOlDV>5;4ZsDt8)&8S^V28n!=h3DC`LZaL`svY^BaOfm?mkN3Jg5}$#S>ao)^k{;DNaO89b4RO{ z_bhkLw@Tu?C<%8)evS;+1Nv)W#uVAd`m lQQX6smzbMcQdy8%Jf(I@7D&RcI77a6ibmG1%>qs_i~#N%9XS91 diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.delete_instance_MIG_from_container.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.delete_instance_MIG_from_container.doctree index 10bf1877f60c8b9e6d95cbee5601cab7b72af643..03aacbe5bcd940bda8c2f18b35d0ed712b1b7ab0 100644 GIT binary patch delta 82 zcmbQ`vDSm7fpx0VMwXM(JU#q*`N{ctC8>EO#hZ^w-(h0>zj?9TS7x=FObiTJ*MLNE k4`*ItZfZ$oL2B`o+9_Ee3BTeD`PwNOS=To2Q;J~(01pWtJpcdz delta 55 zcmZ4MG0TIcfpseXMwXM(n;%GDWn%odd7IoWHqp7(q_ z@B2JA?~}8SoOy^oM-LAVouW$wE?cK9MgZ;^3V2Os%jl+3WpS2dGTX!knHAo)Op^?J zO1`0Y;@a)-S~%hvWeK*64ecSTr?k#dI)>3+zEAFji=74XSZx=bwo1?7@?3R4dln*A zKe(s|zIV8(ScTsldr7*Mk|KnB0FzxKFB8LS6G0T6T(s=lQ{Vtz6*wJNLA}5a7qp#SIN!J8B$rDo+{>*Y{As};4AM9jtgvs zeVbtyL2=(IG|-71oSq#xmI5*UHMHw7MO_80lcV(qkb_1<;%n6Uj^~(k2frd~X>puz z{<`Hh5pez*;n*ADKhd)f`Jd@|xQ+h|M7&9Vb{+oen*1xAe^-;gF$h2PZH3Lg-i8W_ zP(fK$;b2RJM+K7s&SYW@6`Ehk7=|mhVJL3BOM0`e$wIp(^DRv#Hmb>ae-$+u4)(xU zZ@NvFWmxP@_`hC9m$Pf?vhv^GMX4{@P~Wo;kJMs@v$7{t>U?= zRj#wZvNzf4l~P|XuDCaE+!} z37>b|$8X45hMyMRlWW}H!&huvT$jM7!a2ByP!m054rc+_7j@EEjGlmUbcE_SJ0M){ zLR9t^FcOZ7hK8USG@X3ypXmD}dIWPGGBetIne10)sEsUW%w%Df?A%L%_pmRHdjf`Jf167r%bh0+-@givG(MS-Guy5 zTORn!y7Lo`eG-R?Ar+Los?Q!!D`>SE-^f&02yIU6W5yJd44bZ$XH*@2x5}}U!p)EM kli>rzFO>Fj3Ko_TZ2AIV(? z-6(d*M#TfC&*|4Go2%O#bi|3;!f@g&qGQ7^Izs$Et);cD9u5#YMtZ;#O{aNZwbkkn1M)93xx z;ET$O(}i3rlQ-2U@PPsTdwPTZkfc8va3K%^LF(if^9-s^0`QD)i!DGPAxb`ksy;wA zY^b1B+c9E9WOuQ6wG9u}1^uV*9oGc&>QZ+x4=Xyuu9GolyXz5Hmf`=8zlPbE0Iz=( z{=LV8Y;gW(8`#hxO@3F1a8Tg~lz!$9kRR%8KiGh1Nukd!8)ds`{i#~}| zdf;{w{L6O@zeOk_{6j(`{1|*E$RQcCmG-Boz=kl4vyL)Uod_qJh$t%~j8pFRHIK!x z4cvivGbJ7Hjnv*S7!oAIPZJ5Yi#_dZE=CwMO9j-31y5i@Ay_4>Gr1j+ulUId8+)wl zZA?dIsu6ZuTTByFfo0&VnPBR`y^HEFk1GMrh#u}3TCc#8_#k%#SF@IC1-rWfhtaCZ zCI(I7U>+(z)_s*7Ug!+bc zwkEu?%CZsEGI^z#p2@{adM2yI(^J_(Y1&McmwH+VIamI?ca)G{%bw^h``{%Oco|=s z!RJ#sMW1;|(NHv1c97I)7=JqJ9MkQf+snVp5%L7(jW%sY)0N!5oT6!|v|@r;(}J4T zuCY6eM|WcEVm6aMAnK`NTG2%b|AR_dC5{ar+#-n?P0SZ`5#>=SD)}j8dcZtt))gGp z%g)-?8AoEq*fPA;;Ihg=C2Nio!@){74aaD5WWqF@TA@^&QcOB-I54GxHyCw0?N&#E HtAF@E{|R#H diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.get_service_account_token.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.get_service_account_token.doctree index 018d28c98608e71bbee184f55838ad2aa6e85f02..3a41a8abe090afe1a5c4530c03a8df0b5a280926 100644 GIT binary patch delta 82 zcmdn4drFt3fpzNsjVu*>JU#q*`N{ctC8>EO#hXj{PBAgIZgvp-%B&X8$iR>l10;%j jIP(&7Q%fofQj4e5PRRmE_!Vc!*G|#MirE}38p8+xs}38> delta 69 zcmX@5yIq&1fpzMdjVu*>oBR0=GcmSo4i@~%tQN<}z>pOUB#L`D^AdAYODYRei>K61 W$pT6E6=%rTPSMDU-kc{I!w3L5cozBq diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.init_storage_client.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.init_storage_client.doctree index 6fe175333b21fdbbfc3d5b96f7a197e0ed818a6e..aefb0dea1af387293dfd9ac0d75b20d18a8155f7 100644 GIT binary patch delta 82 zcmdm>b6AI^fpx0IMwY+4JU#q*`N{ctC8>EO#hZWe?qgzX-MmxaE3;ZWBLhQL43H@9 j;mk|SO)aS`NG+aHJ0%Mw;a8j?Upqx3D`xW*kr+k*)!H2( delta 69 zcmX@Cvq6WYfpx0tMwY+4n??AxGcmSoJ|pmzSuKu{fgvjzNEG*Q<|XE)mQ)s`7Eh_2 Wk_D3RE6$LwouZKyz4^IF3?l$8aTibk diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.read_from_bucket.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.read_from_bucket.doctree index 258a4c235e37c254c193b28603deb2d6b3968a34..c9f02a7cbdd93cd22cb379b4a48718c306fe7255 100644 GIT binary patch delta 68 zcmbPhvcZIEO#hc#>?qFhkyLp+&S7x^3j0_A}MYo};r9oc+PB8CwFavd2b delta 69 zcmdmBGS`Hqfpx0TMwSnPo7sgnGBLi{yi?>Wv)VC628OJ|K%%&ZGcPeWwWP8jwRlSH Xlq`^hUvY+f?G%ly!<(;2#4rK?TBjKK diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.upload_to_bucket.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.gcloud.upload_to_bucket.doctree index c2c5624133d0507beed5aaeb0aaaf88e6cd70853..82416e13249b1184ab407972ce7a571c25c12d3f 100644 GIT binary patch delta 82 zcmbOkxF(RLfpzM_jVw6|JU#q*`N{ctC8>EO#hWt~b}%t++N`Afm07KanSmjz6G#;I jaONfErj}F|q!v%9ostET@GH)cubrZi)w$VLJ%$kgzGobQ delta 83 zcmZ1zI5Uu?fpu!%MwT3f&CLoMnYcGHGcfeew8h9>WL#fl?bx diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.logger.CSVLogger.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.logger.CSVLogger.doctree index d78b327816e320b2dd247d9ccef1d540c3e72e7a..7771c37f7e74727afc750cee2008784872075d46 100644 GIT binary patch delta 8792 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 Yq;kQ`UTuG>xOi4k@vQxm954d@15>7>iU0rr diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.logger.Logger.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.logger.Logger.doctree index 0a266cc64b8defb6ddd68d9c02f0e14753a5eb5d..9721533e9d00f001cd65c9b5864d6156ef161953 100644 GIT binary patch delta 2356 zcma)7Z%kWN6yJSq*?W|>P|9PYrG-NO@?SEcNMxEVCSV4{fpY{GK-lAk!Jur*h{l=? z-6qLQ&%-&zZ80$>WNulyh=E05e(-+$9ic52^`4}!a0i>ezBOuq&o4JWd||#Gxdw2TcCpwv^9u_ zxpQA!_Q3PG62xr{WE{S-#YhkA%RW!KVI|v#?`LJNU3pgt({s$ByoF#f2eo2s2Y84M zB$)phXwP%Pv3w7Bu5%Y~gZLT*7>>~~=(;h?HDQT>K;JJ|_ zJ%ht4{Sr}Ds(UY%PRa*;3qL(%Uc(uRA)({6-sAm_2X9TuK{m zqC#)Od*Xd&<)r__<$%S%;c+jeCpTG7#AHu2W*_(4g^VX}%GftD6jfV7VQUiS9UeLz z&RIa5w*TOSt8Oppgs0Bt29LOrg>M zM0Ufkg%*xAqTgwFt5oTbuQB9e5;-z{Xeu^k)nonobT&g<@gun3HBJXyDVBwUsi|FY z@1v5Qy_2hO#vOD&R)RZ~5-8?%kXo4bwvh?=-5aqrvn+f&ci|CsXUedrZ?r=5vP%HTZo;ZO7OPYh~U=vw_qroa-htY6}q!(^A!fyXgr`5E{>!tJ(BUwNJbw-a{PZG;Yqea(xoBkg4fC; zq)S6`Kr3<`2^^BW;thT|*R&D2%9)D>rYgC>ITZ=s+Z#wyFC<9chL0<1@sEQID$oaW z4y$H^$%mUczK<8~g0{*%dY?7Sw0_FK(^O=OmGG=&DUHfr<+kz(t;N#t@3ptCll%+$ Cu7247 delta 2332 zcma)7ZA@EL7~Z)p>_Vvp`oTw=Qd(#)g+dF9xQ|SKOp}QMZezIWlmca!lQEzL%n}`_ zn{HW?vAkEd$cRR>WT?xSjTkVB`e#vp7?-&D5#9V}qS4Llk0BA?bI-jkEZg))?>X;z zzn?BcG7$pvR1&P!$?GU-ZV@~(|?$jNO3dQ zZop-X$iqq0PGeR{=QN{qcsKQ6ijDnr<6gEos_?Bfx-F}?(6Et^OZ zu3IKZ7sLurkf-5hVKsh-9o{1OtQ@4rm~~wXK}36WM3zn-Vizt5;zJK<a%B8s4j53yo@ zuEL7NIWNGht%EFNIse40Ip=wui_STXI*qdnChW(>Tg=!=|56RzcCny3>;0$htydz= zDk18XP=&|2{{|E)>?vc<;Qpl2A~1A~T+;x{jxAz{3pHxQhg@P|Ks}J(l51oG-cxmY ztmG*oY!)D5wZfd}GSg-Ok*V6$5O{1uFkbc!*$r=$+u^}-tGJ7)owOaI<=edKtAU))x>z)Pv)rl=es%@ON2)%dhSb2$0t5R+ z7OduQPq05Sut9-N0dcqKc&}!Y>v(73PI#BxUZF#PmEiqkCF`RDUS18@3`LSvplc8> zGsMJ+8k<^O&EZ~vNeHbgz!E694RZ~Tzoy8`478{h83lil`~%)}wjbzr=&9U{SL5;6 zAYJJod)9_`fz`WJFH482!Ov{WCmrQWtuBbvn7ZiJF34SpE6C}CtR~=fNN5j zxQG(=V+=<8?c^#m5WnRHmr-DK+8FsB4^k$a2+5&%Pkk8)I<2J|2*w1J?`0N$(^ zd7!S;%_GZ>l+hCkd6Xkcc0@VpB3uYGkVUu_h>#Ci*1`{X*7tEiJo5&K;3Rxj@(D`@ zc+OQX6dCaix!DvKH3nvg)t0->Mos{8>ko<#L3#y4!5P0K_%p6~8aJPjHEj<4otbz7 zQb58e^ae`zWM+o_b!A${yAU&jCm0dTMz|gb3;CJEccynaSWA}RpJ21_OvX}Y7ggCs z|C?Phoy8e&aN|)Skx~MCPO}P4$Fv5dR}d&ce!wy zX?#;$09^2nPvNrm$|QOQu7sL|g-m3p*2nY6fb}td1I+t9-XThT5scI~kuTv~eMGpF zam>>a&l}-n$SdlZRe&csjB)I~ko8UWo>*8u{8nmoL#qGcp%RhRj4l z;ae2%S5SfmEwZE{28mi0NQ;~xcLRzw@L1 z1z%#Aw+&XB0rdF;wH9cxyp(^#|e7~Z)w$4mn4HKC-FVdTjV+?z z8D!6~)7inF(#m5(3LrY8>@|LLn(Psl?HNr`KE%&@7FWE@ZYku`rjQ4cx_*vUXNhgT z{f2eT3IPWV9DNpa<6_k$U!(4-lGybJ?z=2-wTNYJFno`O?h?fPe<4CUV0O69vIQJ> zbyYvx8WwJR=L+uevWkjAe*ywhL?a0Z_EGQ(*Ii8-T~AaqjQbk{rj|7Z2QpVIST=PP zrV`1tCF*INt{v9lJ*+@E1|RUYyY(*uuD;s9-II3es3yCpz35=_b1 zLHQfclzv*SG>C3B?vY*&Zz7yfCFzM^l7TBvq&wUqcZw7R(Cc&aG0H}<*>{ZRDH>64 zR`fO0rYTeZX9F}wcBb%&?~6W7oHwnQn8BHvs9xMqa8;SnEAo_z0v+^0#Hi~1hhl6S z8iJ@SkqE% TRV6(bvt>&Qdz%=R{fB=8(smXP delta 1089 zcmZuw-Ahwp81HpE+d12GE}2&`BH7Wi~V)`h4xR>cg=%}%juFSHs?ayKz}L!%iP!Y~wzS0%(`)O32RFmq6TFE$O!unO1 zFgI~;(0YjkF4#1;kTodc74iap+vF^^2qi+)xELRx;4qYC|&wnKdwev13!f^ZX2^(dh4Dv-Ve>;GetV4`zhXef(XxcBUJ7KIcjYu%dlo`wXW=3 zmWsh)6A!t_fdlaYA9HE5l_9^_hsHa2WG?4%Jjsdq%!EQ7`=|&}dTS^W@&&@GbWFo%r@8;FWXdHkmL((8ObzdH92A=ALQ(#cz(}0oQG0KC$KWDhU7>Sh%TH>%0Xve zO{_T+)*h{>MC#5Io#S)C%96LLKhaRlALw!oWC4_GT`L z)`&jhTYE|VJ@j@K3BkSC&0W~Ce-dVpVM_H%58*>@i*-8P%Ve6?)h;E`lE(1Bp`~#> zy9bB<(^x5x17RBVCqkZhED)4E!SssxQuiHZLgrIb2RjH^Pp#)|8*1k@;5j^GMF{&s zG?utcW!ywbOL%2gh7YIbk*I za_$0RM}vXzu$caZVnrx26c17l^zsGAE5v{-h9fZ%SAa%oc#sa&?EV%~bC$j>BJaV6 zYD_z>CWQ;qJ2a?v62+*suPVk4Z+nlbnB+)2I!IO4sTh%#;tfr{1}wy#g!e@ae*tzZ BUTgpW diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.BaseReward.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.BaseReward.doctree index 3e300db140ca389033dfb5142594c14e19d04b5d..d5862a4c01163b8ed38616bded4053047c8b3e7e 100644 GIT binary patch delta 444 zcmeBkS?vgn3=A34S=T0S)(HSwb0%{LD;X83rI#nv}&d`Ju2iCtPf^s)z(5quyjYQ6)yB$%&#?90m~OIzW!_ zPk&M$BniUQT zR$B}-IO{x6Bx?zXbpg)02xN6;T>_JrH@}jMW@J>}>?ZBQ$arb5c7&4@@u1?;_qs(}DGPh76LK%!gOiW;z z|3C$$Nm(XXssc1$o>Ds{3nbxJoFP{`MI&qF=Hm(pi~#Iwbix1t diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.ExpReward.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.ExpReward.doctree index f4939df945300bd7eb5d74ba91ef05b7ba2aaf9a..448788328318c06b2ff0e668b923da8d2405547c 100644 GIT binary patch delta 432 zcmaF-lIhP&CYA=)sUJ78=r88!;m^xY&d)1J%_}LMtg|?R(?XbmAwxRLOn9sLRm_aN9ILi>o>dZ0%lg68OuZd)2Y~C!o&WDlFaC6f7ugq#ZAoZL;qPT}M hFEKZ@q_QBjcuMV*ERcj>afV#&6pbv-&9$4;7yX<2O6zdMLO4;AkFK`ijDT=LgeN~#m75&E z%`To51QGhg26Uok26Kj17RbKI@2iw2XRdKoU=(3s$kGRjWHEtQ25^=kkky%GwE4=K zNJhq{&3fy67#R&VSFiudti}ye$pIvadpPqFb5lzy3sQ@x)K19)N%$3K$kk5K$l};M IZF3qU0H|GkMgRZ+ diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.HourlyLinearReward.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.HourlyLinearReward.doctree index b7851de666da0ccc5ac8af181d6b8550ddb57ee6..709e436f55bf5df7505430b2e6290fa7ae008804 100644 GIT binary patch delta 442 zcmbQ+!o018nWcess`f^fE9-fB`1A6U^Ycnl^Gb>*UtAx-v0j9MAwxQA?PS9Z%8aWg zhi)ig+`akKh8v9hw;(dtfmCTy*6qm~H(7JQ#5RA~1IdNkw0JZ?igdggffoJ&St#%eV#jxg9lu2; z^G}nTtg(GRr#-|tThYlIS1O5A@&WZ}Wt{-2hG@3}OK`yS15H=v_zE%X6Ubza4-n3E zpp3j|4@+`>PVp3PrqT?Jtg8^2OF(79li%*p8;*X?vws{%SMYZ*{YRyByV9L`z+WOZh(1e2>aKi-+m$oOls|85^f#+94r v?D@*9)&f%B2qcPoIP(&7Q%fofQj4e5PRRmE_!Vc!)lSjKYTUg2KpG7l>z@#>_Z}wwkWSJbcMTwDPa^)5)PBu}nkxZhK z9c$$$-`?WSD7;yFD-R>%zsVNcs+sjCG&|O)}fNHX;K&<6()(Rl2Gi&AMKRdG-8Gmlh*zLo}y#lDDhcC6LD8FcO;~wG7 wm-gIXR%-_7YXB0(J)C)oxv3?U1*yeTYNup@B>ajqpF diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.LinearReward.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.LinearReward.doctree index 696e5d57f9dd8a4a44b84af0c0da5c8ec8e4bfb9..35eea91cd1b35dce434621ab27e94a4512574949 100644 GIT binary patch delta 450 zcmdn_is{lTCYA=)sqPzDIG6DB@aN?x=jWBA=9LsrW?K@$=_bs;kRhGrB0TwEi4vpJ zxWsz*#pto z36XDy@bVx|dApjIBL^aqIhkpV4QD!plMM2J+~fyl>>^o-5TQ?OK&NVEFaup3Ke=H| zwwizl14EWAP%=vp#Il34?18M#EC(>@xS4xxJR{@8&DraG7#Zz1?^yqpSxpM0UK~gi k_i*MV=BAcZ7NizWshyGqlJG0ekgJ`dktM$Q^5!%~0DjquzyJUM delta 419 zcmccgifQL7CYA=)sd^h(IG0RTSQ5zTD$Kx;A)VzcJo#XW5~Jhfxl2kI12+pTox&(o z0FlZCQl&{*g+OZZdq$1P50(jVz@#?+SmwmYID4}73MIz*ljBxcama`Ea%TWQR(Y$-b-EdG~^p>3A~&t)2w7ntuXBV=s^b+BR|WfmKPI zS0G}Sz$(D{;t=}IgGD)D`e4R$c0)9EK&0Csyj-BP4o5bGlQCIzjSXiSgp(vZd83Hj zdbQ3tg<$qk#WN2mUTXijCPwZuK&ucCJ9n01|*7mIP(&7Q%fofQj4e5PRRmE_!Vc! P)lSjK65IS{a~dN61v`Wj diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.rewards.doctree index cf770161f82795018312dab06ab9695fb3cc3efe..ff039d9b0b07c87c6d665c14a39bd4e751e936b9 100644 GIT binary patch delta 1262 zcmb7^%}-N75Wu@_x9y|SmVN+*N+A_22&P68G*$sMMuC(dA(0qjs#KN-Emc|~A%4Jt zi%pcw^IH*Zq7s6H)Pv$l4;~aG{sqRE7`>Qq@I*qKefCup(QujBotd4T-<#QY=fLHC z^dh~gEt#Ru2t3eq!Z&rXjp+h0DHvy7R>cb023F2AP^Doc0JEf@?nhf4j2c{U#iY%t zVHIpIt85^d$WrZY+Jd`gC5AM?h&Cb|&qR#cqp2|MCc=3%4aQHf3-D35lgc|N(l?V@ zi0WUFN!V^EA=A)msHRgGIe`h=$Sg!G72ps;0jhxHJ0O%sh8GE{n<2()LrJIE2xjboVk*;ucB^Si@K9j8x(4|Z}G`}jgwY5l+%q; z;Ty>CiAQ+NF6@-p^z)0X*;w(Cf+sfdOzUatTWbvQYHf`x@TTFqt&Gg9!kbzP?*+%p zQt%QU2--Y4DbrFi0eVL#N`-R%7v;kYW%7TNA2O6lo{7q%%iBpM9O6M-xvUB8$=;qm zsX@&zA3$?IJk8xjW4Maqylez>UV%M=JNdoiJL+MT0UVuhYENE0ah9r8su3w5mZkOP zwD!VyzTcRSJ8Xvo6`wtyn1d_PiUMyFZL;@|#3AP5Z?UKyg&%xQCkdtMod!b2QY{6C z3F%1PE&Q&js^N+JDEbmYBp43G2BM)pe8nPn1o~JJCXxM^-Vbloo7AXGnvGPP!~pzl O#ZoWbZUSFQcKiTfgO!>9 delta 1487 zcmb7^O-vI(6vr9bEo^}n3KUVGYXvMw@e89yG)9GhV9}cgP!|~(*0$L0)`&!-F%l9t zG5W^D7%s*{Owa^UMWe)nChEnLAx1Q)@#?{tcr@`%rP3<#9lmYz&k13C-5Xwm)5dnY&BfWDU)K%$NbRZF)n#3WwSgq&=U(%KYVby6|OR+i!(1i zmH1S5aZ~EoF@leXS=+=cm?o@@H8ESj;HnsHN99~r!z`?pZDn-<2wJvChj8$~&*eJd zg(Xaa@kZ-MBA-XsNUWQg;3-}S9kv1~F#^=KkJQ6G+hcMcPGl`7(=eK~QF?&UQz%pg z-?AFWGl&${LT5H5cOXCC$Yc|+N%oNmP-P|0j~kd{b!`Nv+!kw>i|vi0brYAnRda@) zT0HHiYpNH+}UAF+0)k`FJC zA50_f{2Td|G;$ICzqOWK26CQqwWn}S!;Gt%Jo=6E!6KZ`(`&r~E|yfL)OiY;iu$Zm zskE~TwDC0BiNDc)N~0Cwf|lHXF1b>=hUa?(?J{^@oF@&Vbr!x9ZpZ&q}1h%6~3YW)0?Y(mE4ytI{&NPKSTSIg>lq0)*k-IT*>h#G@O zsg5nJ2}eL@6{wK#qjnS99-sDj$X+I!4t-EJXy{;w>blxTIq>8GPTmB+*lu%Y3u;G$ z{ox~up+@_tp?FiS$tthXuPfmJL%}YlQ5rr>d+PZ)zHq-R(`E&_*M`@N_9~HujiwZ& t$7qnZ5z{KR&P{7;pt*yaHhmx#Jxn=kGp)EJ#R!q78KjDJtMEo?_zq_v=u7|r diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.wrappers.LoggerWrapper.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.wrappers.LoggerWrapper.doctree index dd8c49cac3dac681104d28c1108ad7a08764c17c..cb63b59a545c7b6d55503dd1752272b2732d90de 100644 GIT binary patch delta 7249 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 delta 7219 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 GJ@bED*V8}% diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.wrappers.MultiObsWrapper.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.wrappers.MultiObsWrapper.doctree index 7af7626daec242ab23c9cde2a2019d4c3cd8319c..4ee8d8f1b652555e8532938843a74dbc5caa13c4 100644 GIT binary patch delta 5523 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 delta 5710 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 delta 5300 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 diff --git a/docs/compilation/doctrees/pages/modules/sinergym.utils.wrappers.doctree b/docs/compilation/doctrees/pages/modules/sinergym.utils.wrappers.doctree index e2c931959fab182d013b8aab7030b3138642d926..fb076ea6ba9de008ddd3650d50cfd816771f1e78 100644 GIT binary patch delta 1039 zcma)*T}YEr7=U*+&)nQ}bJN5&|8nI|&MU!wmOpeA;+C0&)R3?I^6cP#*tboFR0=)Z_{(GM0v2|*>+b#ze(1<_Skg7uycCnY6aocBBL&w1bXIp_VReXxU$ z(Q~GX2lOd{M+OGOP~&7qe?pa#te$z9i&gqj@xWn4N%G<2I^kux#uh9k4flk=%w>lZV`g zL#9@G7b9c6pH!_EA_94ish4d^b!`C zY8Y3Ksr8I9Bg+q}tOKN?t+XAzpF|wh;$Xs2-FN|Q=kdhFKTp*EB}Km_N^Za_ORwc# zE|}*-owb3Op~qTE9>b8eN_5XDOcYhYEo*^oE@O_%M+c)}DHKt;6UOY#1+Uo~_SVnl zGj%XwC%>Y1z(B~m?{jQ{9agVM?k)r=yWTL%d3n_>oM|HEMKcJE(yk#|7Xl` zWd>l})(t^hITDZ9g1-?Tgpamn5?n*v{}1A!KZ%<(;(7Z~8ARdBlqsQz93M)Dy~#vqSn-a;rC3akE2^CBE;SP}nLV&!49QXN z?-!AM5rvX5N2IWvNXKLahnx$CUtyJ)S@UB}AAHbzJj^GtY8?JexIDPF1l0@;DdFg# XdRnyDr`PH5zfNUex~d3#t7!QJO(t8Y delta 1268 zcma)+T}TvB6vw@@&g`zEyX$I-&Zd(Zt(&eGR@gUWkytBIkD9GIcD?OK?W}^8)KW>% z^mL}E2O|mkK!ai}qLk{Tz&=QNDr1%Cy&&qjGn1<+g1wx%U*~_$@7{9;whV9M&+=Ca zN*?mh2uyMbzLrX~23}fZzMA^9PMES)z$wlSm$~|)CW4#Uw31qSJE&a~;=$NaC9Z=G zH**TX%dG*gv|6A$mO5rFIKl)u=AnD25Qyu+Uh1X$(~{Ijx6`TsBrIF`Be;0jNP@J& zS4)J1k}a8|#C{2vFJfp76G9YN|b*h(;-+=hc!aKu?^ATc+55G$P@HG53y?uv$kJrSMBFz)nceWIV~ zbbx-*)-2+_P;-nj2E2xs>Z2YkzJMmy~)cOfg=fMNdPG7&!HlzR|^+059>q&r8< z8jPd7dDKv<`+wpzrPdA;jstMrQH1ySxDt=vrQR^O6)x%msYb$oUu1( z@KxDcb8Cs3GG8@tBEOgflUlx=kdfroRgHv5$=QNmmYUy&%1<<^W{(8JO1%HLqGBU4 zV_6;%x$Rq!8>e$sSbESVQ*4f{|#7V3!{ zlmGrWq0bN|#^1pwG24%1P`z2U9s^0(Kco;7}~x#D|nV sC8ReIEz?L@*D@Oedz*DlP@}!EPDQ6pS|)~4@Pu(cXE?KsV8&DT2i9?_U;qFB diff --git a/docs/compilation/doctrees/pages/notebooks/basic_example.doctree b/docs/compilation/doctrees/pages/notebooks/basic_example.doctree index a993fce20c6f31ff33e9a5cf0cccbd7888766709..80a2a8ab68d25cb6748ff28a456f16c4a3ff8636 100644 GIT binary patch literal 57798 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]PIWbIFID#vD?to`3%+ug^>6BTE& z_8)!6e3P}U-A7hmX3ft_ma<;p#O-34w4x`Q39H8on=EIPJ#S`^p9`J6YT>w8JaZ;QiavB*)vO2PL7Chgo;COnzE1}+A7#jW z?U-bIi~L!UKZ6bq7$!$1jm92%^?pdZ7RkRcY(TL>$s%FNE9A?>oAnsM{P0|4)joh( zwPQl`BCqyA%Bxk51G$SV+i}mb!4B>+60u1B%~#h{WW$as8|FVV38K9BGc$9Of8NP| z>zvZUREM?x2DhB>>oACpgY04iU4jG6L&~)a+|7qOmH{LOqa{<|{IY0Iw3|TzS_Hj| zHM8tZfoFdUG|TQ~%g^~`Z;JIUrkwA%@B>Ti%)Q>(%lINRZ?U@Bn_rh3cPw?2CEukg z(Tm`^Vr?_EzuM`zC8VjHz?pk($;*|`Qu#A_6zjEr=ahtbPjX$`TZ6t+`_xz2 zU1)|6cn>DieP`^;$GSEg!&^_;5BehB{580lo|x)=>0S%oDe+$Aoc(%TIi1k~vM+vU zvaJM8X#K*O_YR*Nt|=##Q>5kAcR|7fWQTF6@gE?&M{ZDlA^Pp^17tt(F?N9LEqPzk z`&)vrQ7%=)dR45nn@zD&D~rvx@c7l!)%I(qI+P7l9+O|T1aV!kKkmu{X>7=S>#KIT zY<+nkOFFy0-DbB8wUMc?kF6{F(t+<2MVqjD+2c&jlm^|gwlA}9YSnV1RH?V?wMwm3 zuGU*@RnC>&k=C7zRMW7Y4-n#AoSS;ua7WY4?pPj41Cy->u4nI;wvDcJk@Ya=J5wHx zWjM=i0w?lVU*3OUtwx)eUDx*v&{DZpE0@cF?MAcFXjHAMsSn;|4-wnz0!;RLvf|LF z(I}T1wOXrMY1P{`vDV^~2x!<~_yFShs8ne*Tkv}8f_O?*tSe`wlvr<;T4J?TEw?J= zvJI_^raVf)UGAIe)*=>6s#d94uQz~$tCf1WQEsqh_(=uqS7~}k1u|4Cm8g_TkeGIMOF3wF0CRMdmZMDkf zYNJ(d0*5!)+I^&|0OMEcUQ)Gc%~G{dX;gq*BK+l3s@145p+S}Cld5JD3B@jmmnuf| z87WmM*V?6evkb3oHtL|%7!O72KfH@`(}F2gE7j|jW)uFF#cH{2YXl#qM9^VS^5NEh zm4?_Vi50O`t+v{&YD28@NhOMPq%+Z^99oHlOHvSvVRuGiRonG;snTpzT4k|OhUK%R zMG_0|;@q@gVu|IFC^lLmNK~U%X;&EE`ia#9VzoTPs@8#6Em3T@+qH77(x}%$h*hh# zBg_@BNDU;9kuzSh*t2FPR-;k^)VG02sz5UUjPg+ou^JWkO-vClm|E>pyH*haUDZad z-fp$RlpuUwsd}hYYqy#uu?BKeuY;+sg(yL>2{>UG32H&H-l(Q>E*N%aBo^SjSpqSs zh;6alu2;ZiN|k}95pap?GRVJ z0**1`0G=9bfddLA)52N2WHG%pBeB471=SDAS8SDG*<}WAjCTQdxo4F605*uQ( z1lkY?R&9$S-@&M~#THZX95o2E1P?leXo+lrvl6Qb@kR?$7i~xbz+Zc9(H;ie#kpz0 zqE*8j3I_8n&0K&$+a!2Y4^x={2JdBuDFa*-zXQEvj3zN%5nz%?4rx2_nP0V)RqD5;-j8>5*PO`TN`yEA^ z7)lX}G;#8R#3D_cplF~-6We;O-`k-7n^iT)Pqeo>^??VW!Fp96K53z95TAC1Y6w1oc!}`IDLswG zC#UK(M|}D+h8}!c6I4_S1t; ztLW2%&p_3u51q8!Gk{Jfffs^KsJKdo&R_v&3_63goB5&BU!LhjCoMQ zXUJ;k(z|{5id~8sf>12IOoUNRjb$`OIeD|3Fv>}d#beZ8JL$tGEt(AC)2@~b!zUCd zCBtX13^E3vfz(z`=nNJ)da%h;pCYs%_{tl-__XR8gZQ*FRblu{8XPS#e{vE`9*kNA zh+c{J7pDn6gwoQ(079LbLl;63hiN1CU@>7ddj=9jIdLbqRM3k~S|bSP%%w<>d)|z7 z#&nUPAuZ&PKcVg8MTW+k5euffiVV$aME0=A&}<1shNj5Sq)crGo0dHWQY(23X{#oBN=zA zYR*+tS{llPP>qpbW}O>_?m`+D4(F_+v5^>BM#Dv7 zcnwXKNDMEap-80J8Mh>J%4a;13==kSh8)4G8;SE3&$y5nQaclZ#L&W-EU_4#lcBS$J)iPNlkzXo9Suto-f@v5JC%Wro+(?|SOvXlH zXq5~Xi4i3-St2pKK8A84Zb!z=L~}D@#Z?^R!r`2?F%AyHN@Msq46lpH7>6N6F^)9H z&noj^(Nz)S#^Rg>F*X`Q>kYVQj3|c55{=<`mQXbM>tMX%>?(tCBXQ0u7zc@AMKF9M zhE~92iNnz3N|;LI6u)?o=&pTnBXQ2s7YB*K8C|qggO9{u4}KmIUwB3(loJCLFJ3IV z3SL}ToU`7=Mq*gG3m1o>wJurmVN@E0;xNxySnMF!BBNpT4;2{=_aPCU3ZEI1LPbWy zDUzBIg+)e#ZtS^EC;`rl-0btoagot**Xqs4hDAmr3w>B*G%{et@Y0en_r1tyc#mlU zRxUCcuKML!bz*1{NoWAXnZ90RG=kI7ty-K=G!_|+fRE#!TJA<+!fEAhPAoDSbegyu zjmf5nd$3q!G_YmSn(z%~=RT=Z%xk*$p|=9$Yl$mB_~(DV;S_*)kK&}~e=4WA2Y-Gp z_N~E#KflBd{-h^edf&F#gFo-&c<|?M#i7Q3@aO+YZb)9Vg@#4|z?{zvXDWnMa1*M|9Q$r7^VhFC_C(M`OvF*pE`Bo#AI9Y97&(5{JYQ9wtoqcP>lfFd8M-uBYej;P!s4{PAfhIDhrwp?%>-r%#pYbOg7uKstgZYdvvU~;&;QcRc zJ$2&5UK{@5zHt4S6DJfwd0Kh-x^nvZWLtUl%zKAV4%d{E$|*90<-_>P3l9#JkHX&< z;qS-b@5kY9SrPHY-ve&4^AP0~<@B|E%xc_b&zXMX3PkFXAq%D=3w?P<9jT@Y911o{ zFtnj8sH2`XGE`^+81)X;F`QQf_zo{Wd*#xbXUUZ#%@np}c_c`EX>3B&Z))U&{wQWPzAA^xo>!L6 zo~7~*(mI?Nra)xM0C^XH`-CB!H#ran>bo+00a-z4nS`(4haC{$l5j_nN9)3YHUSoc zb0*DwO&Dv2p>C@K&>ym~MTKtfcfm=tnfyiGA{feF@UPE@`bP;+|2yzDz<^0E1p(;f z3ZX;4eBWb3l#B`fnvV&-d-^TgkbITR?f{hL;ZGehdQcm(rhNDGdHklU!Z2~y*VBLT zrmCZsMJo3|n*vLyI|qb2cGLk_3sskU<^YVs_QVuGm8*s@k}=sU=?7>5CS%Ad%Yq?4 zlyzVq$ia-Y5#*Rb|I5%K-d9Jv$ZnbrCKs;k*uc)fs979J9Cg)4(EhjM@7OOq(YugfH#=t$4Aq)yL&g1l;Dmo>+g2Nzpw)HAWb9TZU>*;6qc=P2@TJ z(v`!MCZ-16&uUMCEec^9oT0t|PKSiojFHbBugGFE7bgSTZsR$-;BxffzHRDvFpUYo zo4PhA3Abfg_{Qh{7Lf>CLIC=2eC}sJ(Msfn@XP@mL;y~hwol{;kfxfY75qchrR~4n zyILSQQzTQn1-9ekVXW)erHE@lI(~@=lGg%$CztP;3H(TaE1Y)`_v2T|Bf~Q}=mc6e zkiH$@_^3}xfQ6l>a=&%f?r~95xJh46uujWaW$V26G%#`@G}&IDKm45QXi(fY(^QH!+?r-#dd){R+zu}j-<3Jv&$mODnH2@>ktk(K3s&3e1z>3r+6#2ZgQGCkm@6ZJ-|c!1xlw-9gWwH)AInj4UjdPT zL411jo`rn{9$>;|>8?SR3C@gVPrIugu*^#UBGvNH7SBdP{x(X;4>P^N6v-F7A1G7y`}E{}vHpPZ0{hJdia12)c@TY7a_2{; z&kaBaPNZG=Q27~_7yWSn?lnXT9LOZwZ&3J8R74(}=rrFZ4E)yw0-#MtP|Lk)IOSI?|CYU3PSS^{m- zbv{}S*cxmyVD@sRA= zDF|@*Un4gJINbO4HN`2rxenVRua9;4Jg1?10yoH98rCsGRu4h?|8nVbdM9u z>YS+`8CG69yC40yGw5rk@g&ZdKk9WbH9NyPGVrY9u(aH(W6F01+~x0UFV&)$T28j8 z*?sOfep-@s*s3};K2mw%G1yr2D!3)~)){z(cAqI*6GP$Fa_i6KUR|Nxlcsl;M624) ze`>9oGP4sSb&J-kG2uXJY|Lh3xZ2&jQSsk!q6E(tQ{4F(|BM?MT!6@ckAos(?ix%` zWX!|U_)OQ+M!UqA%HNA$nguZ(AHSg4z4szx?w>ERxV(97)$}}m^>nrU8nW?2Xv%^5GV=SDKtI28FqW+k=yjt5VKf$@+>wKku1v zYu~z*-g|>o^N60$XoXLAN0kTt?noMXA8sw8JAjU|fnERRTnBFp`$OJhJ>CCYQUxt; zh{9Obu;GU;DdEFR9|mrcXOPz+^zJ|8Lke|eNuY+Ya0`UGx+G9n7YcQ4NuaJR6zckt zKwV!D)QL5rs)O>IHz*cz z=R!mpwV692(&)~t5s^ld=8lLo>NIOaq*1Q9BO;B4%?=Ss^)2*st0M)fqoLypTdzE3 zDYeEWPwUdhb+s|fHNbN9nRKr}J>wAVJA`SHP_wHIaDTO@se^d0)WWUzxqiiS5gxU5 zkv@0p(!H%a``YcXY@x;PuzH{9$GA4y)OL0VK5ak0H`v`UWOKaX4-`^k+Je1{Pt%}b z#y#eJ27E_Zy8c8Ou-B05e15x)2KIydVSWVPfhzo=2D1iC2*ktQONbm!bQ&zWcu}K`jWfoq7ThR& z(nCodWS~CCb0jh(=U@gV_VP*&nuEN6;NN<&Hw8jBUI~!8< z?2X`U0>u45a2T6M@IECD@3+aaT*^CKQ0xbjOZ*bEqtmRUeLwjDhw6+syy+N9F7Ia+ zXYf-rL`I;yIlG*UJb;lxKNxTQ2n-=ydl{Z#>T2&Yf`~oGHsm&<;0N+yY6i^~Vhl5m z1mYAiMz#=RJaHrtrwAspg%|^eBY`+Y)Q~O27$Gbe;$%8+M;c{i+EZbSsvWn=^5>)< zN)H9FLxL!f1(HkS+)__K;kVou(1o#Fk81$-uB>m}wq{Y#pos7N&!!dUHQQ0BF(%_N z4C(^f#ao3SqWySzQyST=qj$Bz#M*L*Kt?jwQp~I(A&fRjkXb}RWXC9EcZkI&IYvSj zCD@x138kBp{k+GC6=@{&79}~km&=Ld8$Tn4MnW+DMIFo^lBZO0Zpi)W&E9e&OG_fh z?x*?j_!$^0c?DsFMrSNwu)5>l9BBKuAn_A|M)GmK{+>4%!$ksme9M7^yj;KpNI)lW zIgpT-SC{|^=oc;r67q5s6CeRy#iK@oU$64x<$=1Zn8rc_W{-o%)h1ZQKo^!kr$(vN zs{}f}=3Ip0bgzvIDeBEdLYkX)jD-}H<02u=O$Ek6iW+c{kmjc6Vj)E}w-`v1DYGH$ zHfb>Nc>WzScoLieIqbsx$G)cNT?zIdQ#y_;7iVSj{NfMmv_}-`3Dg|MfNp~Ly~m4m zNHdIN+=9jkT=WIiDPN-zr0ZYus5Dr$#+75<5zf?@AH(xu)&+?ND}F407JO=;r6#$T zPhgKtL%3cMg?Bo_3U(iR>JALwCXRa&0=OPeA@CDJ3MoR=dcDc`U|x$&%Nx7ePM4Mo zrsQrnM*KLpqoSmRh#m_1`8uK!k=~a&_Q@OcR7Ey!M9v6$3Y(rc=xF2@N%a&)K5x)d z71Crt^%Pb=Z_rbf&dde6Uq|v|8mN8-kh3e|V41Qxb8=MUyW#h1PHW+`u7$mo+>p## zxu5MFWlX_MQ}yl#7$IF{9BKw z4u@DKm$McUi{$)zf_e9mJg>Lj#KjzHVsv>)tz9a_MfzZ*UdCe5t;<#!LON`vsJ>VP zwn$;3CFN-g6A3j4^dWLSKe|$s&SiuxH#}U{La%n|g))UJyePb(OT6@WOW{W^3UBC7 zFFoE;IN^)J8=8Qn$6JG_n?>5rSp9~34zrm~_oMwT-~6VaxqPTXQ?QJvYAqkCQ2Q?< zs@ltkDpdH(g(`oj#m_bvvSes@uq+>LM$PO<9nuLR{$E z06bKSZG8rU8K{FXq3SQPyN5iB;w6ReoGV@^N^m3QsPW=wIX)lnYx=wL&d%J-hR^B3 zgVdgihpne(H#b}OdCg7_Bu+9%rv#!l7d+8^3Z}{({#5%58Nr_-u*x0&RGSPL!Ji^P z${qexI}I7ZpCZu79sX3?4RgbvOnF+43ppoQFkzTV7F*<2eLxqVms*XooMEi}wsorY zx@5-NdAwU+<4VczTQr}D=G!Vv*m5=?$Q6-!R(LwOD78gjAj(h;FD=Sa=<5Zd3^n)C zqAZ1qUm(g**)J{1Qdorrq73cB5~9p+NUS9iYe6;QlNIZDmoK-Ug@bqDk2Rmam}B-@ zL^Mf|7ZOKCIQX*}7&byKm+5V3Jp1{fPGKW*g*uHtKR?td)O@Z`r}5(FhdPC(&K2r3 zzWY2-`;~22F(stw*yypj6Cd!bVvZRZvza?0(kMzRQkjvP+;`JxB#qk49T91CryG>? z=F)vPMMN4+nmZ!Ws8cs6Ss)^fa?KqPX*6thh)Ak$i#cYV{0P||whAzdIc7BHQ_L~* z)Z+QKK&*LQtRR+{wTR$|h9@2qv&xv9WdnxY0=B&50NxmZY1%`FDfWXi0VV>T$}n0Yn|vA(>RW5zj6 zHSgI*X%1BN7!T7|3LjC4NbgH+!t(|_RgsNb$Ib|P3Y(rc=&8zTG5|e=kE-#Sv53VSGpx(t?t(Bf5DKLBW-}@+a+BY`VPt2jmVQ1`3Riehcte+X z>G77rk6sks(4SsK5rl6Q(mKasV9J9ozD(09aK$Sn*OnHW@O4KSh9) zJN&738Zv@EMWB;A{HeAZ=7v9+6Hv@C+mksN?_!P_OYV98?@qS)RdO~cOOXg$;DjmE z+)FrNiki3-Dt>_|LuJ3TC`(}#7Kk#m4@-zLzag=f$eUyKV~6h@J~>=dPAaFAm-bFR zcjClkTT(uZAHDG4Q2FSC!|C%19MMZ^?+zv9MfmVz@b}~J#i<=lA4=xo^clq*4i1&F zB2JV~Du1TDth}O}zV^o-f+v26JW=`P8S6Fo{`>PMPIR{AU3K)>7%S@N(Op^JhBFz5 zPww}$;ZPd&dy1qR=Q^Fvz$rDHxT-g5h@jvjn5MSTNlFdzN6-77K>k4bKvc`eMOwd(+u~ z5v~Y4L&GSTiS&W0ckBsaX|#bQvhyhg|3l(*1G_$vipT}Bq$KSyF8>A7nAQB^St&DwtUz3spD%nOVsd4!N__#YR~fRF5{6b#R78yEEt> zK?rCc&S;w`#cSck^&lpvVPkB9{)+PqhAnNhsqO4o9-8~e*W_5TCMp3^tN}P zaTUOmd!SV;g6z8)aya#lm!L144QmR)Q6k4KCwP4msxkrDGm&8{%#)_z-C()=~>M%yDx+(?MK;h zCEI7|<#GdnnIWH`d!`%ZA?{Sw z1Y`z_=!^qH5CvkKqD0>J1Sa?wTq^yVG?I2@ee1R*#QmTWu%42?u?T=_oxKN`j?RyT z!1<;$+PW*bhYy7U7eZtAf%nNtYz?w098k%e=-?_Omu^DH02^5NWbSP&$J-BJ4A1eo zsRL>?xP-8UZQ_FtC>f%GGk=nEMH(#F5O@qF_O4pfJEC!5-_8(#n|D`6JL&*VNHkS# z1V=C$>h9>xfwq4OVo4tS8Jm7rnCO8CjsK!y%E}uEg9-hCMZ=VpgAfK2x(JJgDJ!2L z3?}p%76(&^iJ@~UHmsc|YGk9gp;9OkTM>9<4)q8dj}fUz?Aw_hxeA+mromAcS!)aX z&7Os$vdCxQnW+T+!cimSv+&I1p1*Ju`+OFjnQ-$Lj4a_I{Jzky_CGIQ-duBtsc>rf!ero(iWVQwQq?r7HCH zhTzWqR2z?h8U?M_n~V?ASO+>(0oZD%)1|cqshG+Jj^WGBF(oNf2;wHJQb9;$F>(PW z@iwH53r6TTV4|%^F2E$-c}xvVv}MT!n8cfnsey^MHn{+kcz-bkFd-HwI9MdPre#s} ze4Auco7s>sm&yK`%_)rSY@6jY94BNtj&+Y6&k@OY@IWi3D^sj!A+?3BoNOwC z?e-%a^XtI`Y9e%dz%x__i4oyEjIj{eXSCR5>$0_blo0ypkTw%Ga2Cv;{n~ICBj3rZ0T!npvHI8!(iK+zs;E&wIY7S04vv}>9R zK#4PkDFF)69hMm++dZV)Gwmjg)hP;@LugA(sYUEC8-K7hLO`WhuZYno{D(31f`-J} z)!K4$h%tE!Tvd{ax14c+T4)Jy5Us9q#sMm>CBQ+nhRYcTsOy#h2hmC~XB?nwD zXXaoeb@I}J5v}|(2P3I#mllj@{gpWwNgcZ6U@#RFC=`L>p@;H7>p_=Rs$h^59kDxS z@Zs#G2VA#tg25J+<7Pi3PB*aYlXzzNK$cWbu$8jyzI2eqXpLO@p_8hP`5=o?B)LGA zRGZ8PS&VMU1+t_HW>&~T)lJdEZlTomKfA=F=waucCy~gpV?{#ql_S{(g;}MdhduKS z?xKgi=wWB#mAoY-AenZpR&M>fNu0%b0YJAfX8@vo!g&Ee?=NQnqFujv0YE1&X8@u- zymTcIx5;=sI1q{+b~;j%S&R?b5T&$L+%_Mv#DTMO zb=w+iwN>=67d`C!YVzc^C~Wf;{ei{xMpG9pD+eJACUg-N4O3P=Ll{ixH7pLM5I2H0 z+NSAJOu?YGCS<0=ju^7;@69$)2&rnoNFkqvXB8lXEF3jLJ`2xG?)j{OVxP~#GZSw9 z!cn%fUU-NE7d`B&zR;-XVc#lx*rTWIC#w+4rMWoqHl(dtSR4^ncENy&wj#LzlX&Mb zH89bZB^O{4Z#Jd|CfeHM0!-rl#T3AVSfHYZeE?k#kyWYo24k=Tr08MCIq0)uujpZq z#GG9UEfziOaG($?>G7WqG*{l3)e+cFXVGra!;Zer67}jvJ4iY9ETfyWM0kkyt#ZTz zdRR+@hiJDfM?9c&wnTU+df4+c3<0}fkM}sLZf2S-Eqd4&Pjys)M@99J=&k5sCkIBd zBuml5&iq-||LySAmubab+M`ub=?x+AX+Krj004UM~VZcN3BJ~^{{(SeE%5d#CQH7?VPAWocP@W_#esc6wsFeG(D)MSfTeNvw;>FSvd zay7A2$@cfKClPQ}w~t^?F5XsD$`;J_T2e{5?-{6b>WbuIe-1KlC+gdlC z7eF>JNx43;SybIedEBlth?GoXX@l$}i9C?8-t6K;A44IJvfMd9e)KKoHZP(Y3Z9bA zWk83Jj1%pYKVd`XjPwLrh_#B$9l}9*d^Q{~mv0PUk;f2k&a`d=zS~*{a{jK9!N;1_SOmQ=x0c%}mIr!X`=?g9e z9X$8kFW=T8a#j0&5NA5@+=h>H-gyX6e3JT3J5NAStE;*25GMmUR?Aa2!U{$iQ_t8J zZquCO3wztbxg1~z2mud~^paW!nd9$O zE4Nj|ReD%?KoexC2)HXoJ&>kvH|dHqk#_EiQP}fXaV8?oT`@{@9xKj7Zn-N)vCVeH zeBt!9awiZ_xC4(OXD5;4LF6ejH-3O;JcZmAgp1rm$ODp$9+mCNcvB1!?b``3VjVv| z114zHK>zh)1&ftnU7F-R89mL>7Hl$uji;EC$GHgetdOyge=E*)?sx)p(cV)ya@;y` zJO%goab$aiNjBO8_^^r=18~Qy{H#Gpyy?aeV8R(HkYNog7I3#`hitTE4MO5=wv-@5 z7=^4sNW8I@5`+jVku?a3x6%@Wz+~R5FuDEL31mNmT@${xv=%ha+2OXH42_a6(#Nj` zG=`%kZ37dCmAOsVM~||!DFrY3nH~y7*;}$idaY+dSxBdK0;IVc=~CDihmIl96owbG zchT7#c0twe$U0beX<*IeyEN&UTX!$q-MS?sMWR>?mS*j%VS{yudd~m>w!LK8Ct__; z!=!H~vY*8mhJQME1eZ8aAH{Z}B_&XesSaj17ThNM>|p1+mB`G2ht%kmEDf_qgtHm& zIv0L)X_f~52tOz<_|YF)8u%lesJ!4uRkt+oW5aZQx}MAba~=1cfy%?fz84HKs=V~p zjbU$oj{1rG~XkP&(LHF-#kZn&juf#PdvTP35bl>yN>QoMP@&Z)1}&+@QLZf zuwYM)!O(jLIFp9wq)rv{EMq)FOOr>aGj;-VCaX{CN~K$UghtAA^+_G5bgPe0Dw(c6 zsoRuv^-M4L>lC0=g&kfErKlwDVC|$tqIw1XR$F)=h1bXXKUlBBu#npI zV-)asd`Si0^3vEdV&tD)O(_(m1~LaIsV-nkw5qgI0TiVfG6yKBdYA{GC}oj3KuI;m zYygGnkD_Im;geygXc@LJl0@@nQ2fGlC)2-0%djH%6Svbiw6ZidL*uN?_vC?$CQSX4 zJ$|cHXzS9wtvmbL?XfKPqiZ^nSZ-HGT58M9B-aOd(K5W6xGRYfnsJSt?#ii^l6pQ7 zdGYyHj&577E06Hm=36=XXSuFC!a197<>-jzy7CAwY`&GF$CcB{nKR)nF)dn#r6H;D zo~OJept5E;U)s*e7cIlg#&hajmvpF1+WKC`F%gg!EyJeFapvMvFNrm? z?aY99G#3hc9xKj7q`50biOyrinaC}7#VEGfu9z>Jv{_al#w^($3fxh&46E{>Z%=zH zT84YQ$@n0thR?c9GVvB16Ex-xhi$&a`+ix2ka*KAB?u87U)CTb-eyY)LWEJs8id3f zYbim9uo78=ka#OCF$jFKQM3%(+YjC!ik4y79Bb;xv|3?{mSN-%zqA!C!?X9!ibcz? z|D==ow-OnHdg46vN|vT&GQyRaC#P;{Z!Y}k(ku=95q?l!@S{JpH1J0_QF+0S&eYPt zU$hLnL+-ptjwTUe5+~hefFr`;%p8uynYS6>h;SS; zha++NEfpMmqfxXBJNnZ3DPEc6*g=VEuDcOAx@SI@k6h^sxRoFc8$?xnj|qLdX8U;I7r zV&@^sE6V9>|M^LH&TaOb=?+v%3j5N5U}}Q=Xsqd`AdTRso;(nC)B${_nu=gddWxXw zyV6MgtlY=qBTXN|;81NOsD`k8AQ)r0r|ul6qg_D~#uD5D&oklCL)lcc{?;Mw^j_HO zYsDmkEl#eA0!sY_R@cA=ZDGVVzQMP5FZN17*s7pPsxgHXqnn zvwpLIg8N_E8}lIgs^n&a>2m{Vv^$Y@{hcc&%Ia7%40Rji8szick+x5S6#Y&^uo7_aojM{P0})kS8x7@=372an;rq3T zpp6Cxf+9U6Pv}!2AAydwnKl0x*<|1Qhe)lL_Wl8n@-Ko${}}xJ_=7{YaQ|ZV!u=1@ z3wO&S-1wUf6cO(Kg9lMU;r`zdDQSiKpOY6x2=~XvI&1;2F~KG*vv$Uo->|Q}VErKv zth6Hf2T9S*cxn9Ey z&&Rkae#QQ6+<=P`>&p^wqK)#BO4<5WnCcuW36|A&mf)( zdR1D}CwNH}9IDJMj zhXdOp{h8&F{1a4KuTnBORQOV7Ti#VikBzaSjvn2W^=)v;hEMMIwBb-1^?Qm0mblaD zJnlSsuyTKu(P?#ESY`CFe+IhPKLb7NpMehc&w&5c2P++U)c3!VQDTW!}UMyMPJs5(#LwJcS zH*J7pj8E`{QRE2%dxAioV8vd}6I||0MR`f7(b$m0EI;uf2r#NlL9+m(#XgvdZ;$)r zqzB^J;dCH~-TLwlRDP2mwH?39$5?WPJ8je!T z83m81PyEKC*Y;5^S!<_`*X~Osq7}AfL6<@Pdye?q8W@sVD1;E%$~qha!*ZgIV10}a zi$m;b*cE`Cf6QT=6$cHBd!A#6ah^(8=$|HMA^Ij@p{E4rA^3~4ir@W^i+#V7O98f^ zj|8aWJd~{Lw-T)Eci?^Y+hJu>WbUP*uOl$awJsZD$%ODFNC5g>FSq5^5gky#S%fZbbX>WXBGMsiO!43txN z^aTA7NFJe3a#@Y41TbSJv#=J=Jp{W7_6;*tU^b~OMeFE(I!H8q0a{AU5!Np)4a|j-P~kQzsoiL0%Y0JlTuB_w6T7oKS~kR|;aN73)Xnuo@o- z5{UkIWd%IpE>#d+TS1(=zp`p|sdR5!%`4qoSK)BhRcr2-|6`Jq>9T##l?R^Z5>;~! z7EmHT8KpP0M{6rspfJ$(&yB_+vdG&Z-yF z>;7ewOO+=pEASsAnuT)$B7G>mE3d6y9uFqQM*TAod2QfSJ@{t?QS?NEPYqLpWS3#8 zy^V*Et|Itw>PG}C+;Z^;k7+`0qvUtpLOuw++(jAJJU>abrYuZd^2 z$W;)40uC_cuFEi-aP18FRG0T9y^r7Ae?UIyV>EhBcvBh}GWno4(RHxJ-65bzfp5y> z(|rZ^b1|628|WJlOOo{tONt0|C4&UI)*JCESj#$i%lPVb@&K^$unlb8YnbwQO`_|= ztF1Mbr12Qig=_Rz=WBI`+t%jVkPkJA*sW*UlX^m~T6soaM zjfH9~RAZqUU8>RR&TjGC*|eL@%_M%Uz1e&kt`2TCQ#aQaDeyO&S=Nm1`^~!9?0w3$ zS5H9_F0h;HFFx{JkZ`lP&qK1S^kVAYY?jCk0iWOZcGqU}y{q4T;so7q-kccv=0NL7 zgUx}uy=m3&l*IBTxC-XRSn9nCNeE*Tyv9xHs&8&KjGaqbmqWT+bl@&MfVjh)?B&VTyCt?OF?c=-bC>p-pnHk*5@fjcH}g{(ui z5VC_kbU10c#B$MJ$Cr-IgNYw#ySuVp0%vKowsOBxuE6$cd81qvL~*O!-V(+2dbR#Q zxP0^K+qb)yuixz^@N2u*V4vcSqRUdhd+WxHJHnOgZ{FClw{_J1j&RvZR$j4lGurl^ z+=Id&@V7|$4|;z9je(h(QmI&4mRM_MPte<{DQ{f`h9`S;nD)A@eioSSrmU+_Re4D^ z)ZNh~h&_!nm|NS2lgSlXC;72{|9}*5Mv%E!@DAWJPYk!SXNemV^X3GOqPLQvgw}TA zL%4VCs$l9e)ZOA1G)c|Aarfe#H*os`5~avSp;BKgHYd#1#7x)#k~_rUOvbn?rAtWD z9d&o2Q|$oR1AFs|QXjOw{0I!A5v~J@r7Z{60^4es3|aesUgb)l4+XMQ|pG zN`XYBaG4Y;-GnTwV8Ap;Oih8qE7QDJga#>=67=pHt!%t|7frCS6~m3b3c(2USRCLM zD=3Lg{K5)$469U(^;j62G;0oNk|de)4G0XXu3L=Bc2}Q_M1Gi1z{uNu;74goLPt;8 zbP-q6{UScainuy@mu-PqE5g*g!_;Gk;UZMcDO9ZvF`1OPq~(|AepnU4-mK zAT`E{xH_;YQ^eK0t*Q*LQpB9cF6QLwt@jxnt+?7-e(;2|Gd^I9I2q4K)3+Yxn%g;~BTkpQPM0@8GU^C&{*X#}%n|GTAtP+!^#W z(|E#9i#Z$n#TubGB%%Nz4v#D<%@~gv?D!Tdcgn33$=3pK&H~qrxh4PY_F};~Ooy?r&f@fDBn8 z|8TlkESdJ2-GBo-(wYymuD#8av1+&uD3-PyoeZf0`$dxT{j;!R=ONlV`SYob^PhFMWuEOr+prdtQ!o4CW#)FQE*>uVKc4pt) z4>ue|j0qfAMDd>alSNRRQ{8#dLto6M^H&q{U6tdJN_hXop4?3!X9s>h-`YjY)EFy* z;$i^ZEF1fw9$yg@CwI7)BVgor6TiRc=sR!fZztY|<{wJ@uCop89j;FgCAJ6gb5BX% zk9~RYY~nBCIkjJdPJBAV-uu!$Jet^Zsy919-WkV#T{)f6O#d(DIMe^@aj5an^#65o zL#mnn|1q2C&(7izHp-=1y;`e?ty;5EFITH#Re1a=9xxAwn#0ky@|gUxC5YA;^Z0RB z9!O(D?pt5A%W$X``T0PWbas8a&2AxQ2eFT>EBn%c?-NCvuzT6#OwEL&vc@?5-@3Tc zYBoz{u~KbRoAoBFnyt#YvOChc6F6Vlux&B(KrK}pb)ZPA22`n3%5Am^GEcl~KebtEw(5-^O)FxlB33Icv0bj$>a|u3O=UR!M>p(z~Q2e-NJV!|Iv)po7g03A_n zwn30;ZN}3)B8ObcqdCZNxeofLB{nMM8qg$Kj_aiw2z{;As)}_H&}?CjMk{VHZnxX@ zHV8|lR%$gHEzq9jQngvBg1YdEakbv4lv?F>ql^L#%oL)sTaB8{yFoE-Hj(1&f_O1z z+%uyXSIYobz0qtmVO9$egRy>;7z6xp7w4u>inq#*TCHAbh^qg04WYQ$ zuGZ_dX0;^(+M)?wE!C`IbRmy0efEEoAbY6vVe>BzcF4s-5 za?Swek(qtRqbq3ddc9StHyf3TD7IU*Xu`HjXnraUu&iRO4${mQWq4|{0S`m%-2jDO zts;$qct11eQO zW0jlCz(*6c47YjiVsa58%oWi0%_jJkKp${dK-DsI2i&mGOSwb`N>tFFYB#~{Ew@_H zL>J4YCdjY|X0}zWS6hr3gZdks%xV=F9Q0fnoGf%yz(1_EK$5*Cy8-S~39KKuv8{Hw z+740QBB*voDIV3q2Bq@DnC#6;^$Iv3VED=?oYjU+jyS3V;W&4N5M3;_f#g+Cc3|1S zTDBRJ1VuaaQZCWK-vE+>Lk*Hr0V%Y2iSK&1!AS4QX6!91^BX3 z1<$)x5#dK*mwLGcvRv~>dJ9;m1TI)rgkYort^i-sE9ENs?_q8l_%dKpQW$NO;MBGn zWa;rz4m!5nf{>wAuCy4OL5jB^bVJETidVtkCqiCWx+_gy;}Au=nwZUIl+34ber$A2U+D)@VZ#sMV}h!A1jEOy9*wIo#&C ziwRALlmpTjjsphV`Ho9k_!=}fxKW5x5VmOT-6#P8+L*~|)*Ik4GZ)rRS_sU5xlrAJ zFoP8a9fzc?i=gKkFgLyIcoL4Dtz{ zcRj{xH%el)-DrXe2ipz6GSmg>4n9l;z6G+25SXBo1y&mkP`lx!dJSYBLWBlf1F45b zyTKP|(DG5q70As%h>=2zi_8ShD9`{Eq$of`fhUF0Gs8p-)!{bYU7=K;L!L!QHlnFP*EYdUSG|-4Z2~xg_ysb_ z6;OKZ5XwTTf`Q4AXYk{|6Aqy)BVvZ>ZxIBcTmrLM7a@*sBqA($zHn3Uo=~#Z&}o5W zM576Jfx8o-wL>lq5oUN|8`5QP6K0>Il{jSKn`Q8+YY;3|+K{Vp+(KU(r44R%3qmtO z_G$~VVTA19WJBH@h<=%#r6vev;hGGm59=}<5ZvDq$kqo0U=XRn-OV!SB~iFIp=Yo? zlwH>Wk$udv;ycr+*jI6H#)NWKv9A&p&=>nE&R$uuufnz?ne9%rJzDImyyo``nwWPj z_Emg4;>ErSa{`KemDfV;HS>IfnVFb?z1UYF$t0(0CXx0o_En(lD5$@SeU(6c3y2?X zh!y)P8^yi~$V`X=57{mWYV(i_d0{-+ASm`#(rWf%UnP*WDfU&Mtd*zPi+z<~^>MMU zQtYb)>duRO6>ot#7@1;UWv0AYv9A&gypD2T#XC9kk2sw%GoR`Cli0rWuW9RybEfA% ze=*&eo=#5%)EW8vXF88pajy`YXI6=$NPg|Gt{M1@bj++`IS*byI%QVLHlcMr?E6|j zVd4OOgiOpT*}d)1b{P1G(+cCcqyxT1hjzli)!Z(aRV#3Shtd`pdSP&zW))(F4(olv z<#1YLR^8zOT*K{mS%reTj=R|fF02F_T~=uppwlJKiRp0ZcndWGEiPVi(B75+MeNO& z5URjt?rIXMaJp5ZsKRMf2_Xt{K!6H_EnKZeh%VmN2@ma@UK9`7e66|2$ zktNu=;H64j&w__6!Q{G^ELOKdkSunaLI_!)`Z*a{g8c_^WC^w&aOo0EdHbotxgtOl zPLlzTC?G4o?gBqiqS^{PBnkEv_((z<3IZf?ItfBZ0>zTaNRpqV1d9FrB;oV}1fmXf zfBk&`T$%(M0K7zrtNizpC0P3JqYJJ157Nah_79;87WXG245x}eMpih9X0EJ|&3->E z=!YDM2$bscu+OQ{_hLV;INyu?V0FF^`?M@Sh<&>rKMea&ew7IOoI?8;><4S?Ly#Y= zm=Dr|bB&)gylQ$rX#!>Re$qtM&wB|IETH!i#;TkT62>l>4oJw~;>Z42Cy~q!gEek&6)8h63@|~)77xEF`X;W03v}zRYIhE=mm=D&S z2StK&4M!vbHR(LMaEsBsl!?xk0$p+`L+2hl^yT`GoFIRcXCE9Y=kFD{O)}mGa%0@l zK0(gmEt41o51_Wgy4QxrQSRMQ#)9 zqkD%Yu>DfxHtBX49Z(Z+I*QyT87SlNDvI1DZi8-c^Oin6#l6O_r;6OBHMk{OQ*mmG zx%PvbxAf74drg2YMQ)SKR*54^k=w*!DFM?_waf?C!!*`rG5n15Lt?$gFyfePKlU`x>jnJ%SaKJee z>m-$(SrvBrypZtRXQHysn5s?>4O~T?E;7tl(`l0;w4{?miimnnFC{Gf>Onnz#tDrA z1IE$m@ZmZ<;Yn~ESIg{3R4z1(l;5xF1(~E6R4in;35Ar#e z_-Vl#{LP_7Xay%@`?&^Ekm$!MEq9e~x=1l!^`=dV(Be%lDZ;axUP^F^GX0d`T*9FQ zuWr*P6yar?j1qBGn{K%X7HxXO!dy52oJB- zq*`dM!Psubw+3R9kKD+fuTIlOc4(O<7uiuYnr?J+QoeV~A1u%Gvc9W2(@l-}iZdN*gjJk{P$RT3(@hL+UeZep?j-?Y@KcvQT7*_*Qc}bf zWx8n*tjYAy!d;T-rp0^}nGP+&3Nk}z5uUMh6N6J~=_Li{f&d{xYB7D32rb2Al!&Ut zbkiYNi0P$+s}9pehdEP~4juB532p_Z%T1c60Mk#1(E3YCiMSM{hZeyMrI#44;!8I% z=B&N6sS#Rw$(M?Vx=XiI*kzY40;H?D^r1XFF-cJ#S99q>d9dWti*i@Rr5ojQ7F^mW z53RT4qdYtz>BTrF*XY$m+?1tX7loBt2Ivu1Y02mjRcPs7_BDz;c_qVlbakZ%f`r0CIy>mmh+CkbMGfNvZcO_6i*dw%7{xrC$KxRs7RS`;Zja=;&-5}f>= zpAwu)IFu+-fT1=Y4haaHp~t623N2Km0PW+5efw`k3b054y3dy5>MW9FlVlj&r?l6TGB6@RDiQUs81sH+wA_bWI zY_CIajp6g(a^l2fTT(v!3V2 zvoGuV;g|5{ufff~PHy(TZLb9{lX$QCq32;0g7UQT@^$6(^~tvK>Y4Wr5!jQ;DUuBh zgPcM7J@88BAq41OI|a}AVefO+lrMNc@L%A?j`CII_qnKP#}VWi`O#QERDK@O@p)KV zgWRC}LiF3$6lWUf-vL~`KGx;)EBE1y^U8);-Y8cEQQRuGw<^_jIR5j2aQWudw{LeZ zU%%U}e?}Y08$C@Mz&|5X9Zj@}v0<26Pmv5$?QJ|1yVoRjbVt!;so%YI@m7Y7NjfCDnGvvNtOnN=pFm@(`!9l55hYug#^Y;pREj!;>^zy3K zTO3KAd9Lr*QP19>qV7oYzXD0_Y|Fdq=&>mF62L-;9MB+Oxk?-Up^B>r?a2o@xeY=9*U~S%KyvL=tSCjNOn#AqvI8NHh zfdp<^z)SlruJ-r}Xph1JSV~WXZPXVeT3Tn(7f2b2Wt1OC{hlMD-q3~yQg#@`4H~Y- zzC0LDeUZgeG=T8G6a%WgHvGeVp%V~g7ghZcMpd_27;|q3@4l(a4^;>^1_$ecY6_|W z$5x|bBaiwJLztTI?nv7g_7%w#FgDS(!9dmxLDFSGdMK#_X?q|G>PRpZSun_ z!uCWR^wrU>Fx2|;U|ld|nOp!75qX&)Kaz%HxKZ1I&*7aT&6Kw_?cI{_rl!MP@N{)V z!(tUYQ)wF-mdF$6XY@W;0XY*&=*v6mNHy`wzDholbX7Lig@>vEFp;In^wORL>+cKi z1n+!ZG0m~DwYfRj)i(@)thB3|%4EBwYMX{i0OS`hMDUTki zx;6r&nMMgeKTV&%;jHZZJKb)H=$tj>{Pf>{FwyP^^amCL5M%r-Q6+mONFNi$>BFPp zNXrOLKN64!7pXX30u;X(rx2eRNkjRN_vpRP1L)Hq$XDPFLHX_(@FE-IAa_rdTyViJ z_IF<0?DqUnhu^YNaes;ygem515?$W}mF&EHD!x7LgL)b5Zh+R>2xyTFZHIi}QaFba zODImoiFGqkc>$6#t?9kl%0eQT73C$RMl*RN3HRG40mdrhQJTzKQ(EkU=}Q;-mX-&7 z4XI0ALL0H8?oRaozrCyZjoY~5j%``rvMtALQQI)La+nWA4OBg+aOAv z1WCYfN$xHwF1h89lD4Xj1>$CI;h`wdzoWOFbLb_90tJd9>Az64D0)hNZ-$?%)$T@K z!9}_<43Wd(@bS(2nt8uR2@{!0*T8;REbjabQUxCWb%1aYwRh3)FVtOZJqm*VL;me3 zyN_Mtd{y$3eE&T^QViWwtZfU<$TSr_cQhSk2Yw=X{k9%J=tJ_5A-PO3A(ry`qaVv& z%x_tWXYB}I3Xail!wNjOBr!^17tgfeh(m1MrCfZ;ROEB?PdP{b7-Ei6#W_7$n5<$9 z!asRi_YHiFrGg4($k(4yL7zz`({02qKui z4L&BZ$Y$cQ6+{lyr|!Gh<6c%=OW&r*gn|M;u(7YBySOKWwrr%F{-2^L=ljVyp&KXg zt6x5$Xt2(7@qGlkF*k|%8@MyiGb1s9_3wunYm>9=rC?O9I#+tV(Qiw+20rELUL!)Z z6*qsM<_$ihU8Omn7`u)8b1wUEwC_{QN(Bxm$ zy0a{=1(AnF+c$4)EUhl%AN@hD+w$P{&E=W>nHd;e<-XGBv??uq%UZhexQ$(V6}DbC z5H(ss|Ly-9@s#HAwFfdJ7LrJ z*0OyZlBKm_Wa&(@&U3D!ceZBCQfE@Ma*r;Y^JgVONI@w@S9Ur_O`MfSd3t#$_3YB$ zArogG^M~CuOWdDHXrwzyT|EJy{oHjjCV)%b>26%7KJhO5a*Bu{T2cHto>bc*8eD zV5K1KplsT|gd=-X*qx0>7PA}PBfYc4Zj!4^T_klh&5lyHU8@h(caDkbpGD!DQMmC8 z>v6GBK;&#ECro+w=^IKIU~fQd6Tn3W%7bSQ-+n+*ktY}Ihw*uRb#xSOS|LT;2-bQ9 zu@q30_cKT&tX-R7t$(N-tdCF*3iKU}=?74^60u;#h1j?&u3cM6tR6nzw_@T2)V6MH zi5(0$rWJ-WY-ZH_-AcQ&ad&M)`8l(Kcl5vmcQ%xJxK7Dsow57ZbdT9;$8ueNN3A!m zz4p$J-l}dW5ByyPTQ!(uD2jp27wpKOhZP_$t91}UBb!aJm#@@aUk}%A-=l|mufb=z zexqRpl^r~7X{MZ<9ovLF<6p8_W1ApB6^ZQ~+k|8j^qXuG%3)upM?`XD0KoTYv9v8i zmK*@^9wL$#005+MK??XulJ3Js28U&0OLpLE#V&gvxTYVn{cfZ}N@(i1j)Tw<7_33$ zr;*HYkbnHq%!sHiL=0kKSl*WF7tsu0Zx+^!p3tuq+GJ#oFuwVK(3ghq`oUfyy4l}5 zVraA99n|zhAtb1iv5^^S8)PVJI5sj}h?DN{X!N=}HZsF5qF#!TDaTB|=@By(6J7(M zPAfg*q%Th$fI6iiMH>4Eu=B8y&v?&fyk~Pb^8M%$&i~b(&87F()>=mlU@pCXtJM|5 zB$=+{%OO1i-AGtQ;R*=K_;3X8Q2=F)WH{{OeI`Vv z46@sM+57^#zBh2n3d|UyGhX%cLE4cZ@rD>pBJ(z11ete;%oO2xa&F2RSzLh>5iCzf zk6_t^BIXZIQEV!qj#Z&~Wsxrc?5+a)MF}hcQ0}3m=-LNPN9eS|b1M&d3FvluC++d2sO5uHoyswDPo|4RrBK53 zHGpq`oiPBqxyE1hYO(@OvpvI&OiMEuiv`C06~16ZK>(wpCH<>>E^Tpv#EPqYipex9 z10+8P;7qI7r?l}C=+6om|y9-(lvy0eICG< z1vzd`Lwfh+@`bLO`8j$A21cQlx$WYeVm_ZjyTEZ1=O-;M<`<|8Auu)5YEvnKX8_O- zKAe%>h&W=K8nVoF8?{(x_<|mVzLq!flQx8E-i%spEfYL2Rx|+aC$Jtg;91cE?s|-- zKW}O?D>8j;w?!g#4i(`js)pp}cM2&nLQNDI2oXK2A*oI{2LT+zWK{WNst{11IlK%d zz$G>oQj>JkXra$yd?M@{Im>U|+#FWnl`c8HV5j{^@1;*IdN{FBHbF71qW>;(4ji!tL^tlArC*hxCEgh=%iwK&{(DQ;gm#3P5 zK1k+Xp+a3`8GzmsY6(6ICgSd`sEr#JKwW5um;q@Cof0TjZBlyEVnKV z+jBlAM-ao)yPblykAW29Q_{ddqamEOC&9v6s0R%z6rywC1JEO=cg$yz#&e}Q!T(P_ zOxiz%3j8{L3sww^DcD0uKckI%GQEqL3n(?uX3av?X4B9Ia3#8H#w0J57<3A%P%rjh Da1!3J literal 91373 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 P4O&-R6HIOpawY#C+uEa1 diff --git a/docs/compilation/html/_sources/index.rst.txt b/docs/compilation/html/_sources/index.rst.txt index 316de1bf03..d9eaf1da15 100644 --- a/docs/compilation/html/_sources/index.rst.txt +++ b/docs/compilation/html/_sources/index.rst.txt @@ -72,7 +72,6 @@ If you use Sinergym in your work, please cite our `paper :[,, ...], - : ... + :'name':{,'initial_value':}, + ... } -The ```` will depend on the specific type of controller that we are -going to create, we have the next support: +For an example about how to use this action definition functionality, +visit section :ref:`Adding a new action definition`. -~~~~~~~~~~~~~~~~~~~~~~~~ -Thermostat:DualSetpoint -~~~~~~~~~~~~~~~~~~~~~~~~ +Sinergym obtains a list of the schedulers available in the building model that is loaded in that +environment and is stored as an environment attribute. The information that appears in this dictionary has the following structure: -This controller has the next values in its definition: - -- *name*: DualSetpoint resource name (str). - -- *heating_name*: Heating setpoint name. This name should be an action variable defined - in your environment (str). - -- *cooling_name*: Cooling setpoint name. This name should be an action variable defined - in your environment (str). - -- *heating_initial_value*: Initial value the heating thermostat initialize the simulation with (float). - -- *cooling_initial_value*: Initial value the cooling thermostat initialize the simulation with (float). - -- *zones*: An thermostat can manage several building zones at the same time. Then, you - can specify one or more zones (List(str)). If the zone name specified is not - exist in building, Sinergym will report the error. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -ThermostatSetpoint:SingleHeating -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This controller has the next values in its definition: - -- *name*: SingleHeating Setpoint resource name (str). - -- *heating_name*: Heating setpoint name. This name should be an action variable defined - in your environment (str). - -- *heating_initial_value*: Initial value the heating thermostat initialize the simulation with. - -- *zones*: An thermostat can manage several building zones at the same time. Then, you - can specify one or more zones (List(str)). If the zone name specified is not - exist in building, Sinergym will report the error. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -ThermostatSetpoint:SingleCooling -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This controller has the next values in its definition: - -- *name*: SingleCooling Setpoint resource name (str). +.. code:: python -- *cooling_name*: Cooling setpoint name. This name should be an action variable defined - in your environment (str). + # env.schedulers + { + :{'Type':, + 'Object1':{'':,'':,'':}, + 'Object2':{'':,'':,'':}, + ... + }, + ... + } -- *cooling_initial_value*: Initial value the cooling thermostat initialize the simulation with. +For each scheduler found, a new entry is created in the dictionary in which the **key** is its +name, the data **type** and **objects** in which the value of the scheduler is used are included. +Sinergym will use this information to perform the automatic changes you want in the action definition +we have seen above. -- *zones*: An thermostat can manage several building zones at the same time. Then, you - can specify one or more zones (List(str)). If the zone name specified is not - exist in building, Sinergym will report the error. +Sinergym replaces the original scheduler with an external interface created and used in each of the +objects it handled. The data type does not need to be specified, since Sinergym uses the data type +of the replaced scheduler. -For an example about how to use it, see :ref:`Adding a new action definition`. +This allows any component to be handled by an external interface with a simple definition by the user. +Although it is first necessary to know the components that are included in the building. -.. note:: If you want to create your own controller type compatibilities, - please see the method ``adapt_idf_to_action_definition`` from - `Config class `__. +If you do not want to read directly the dictionary of ``env.schedulers``, it is also possible to export +a pdf with such information in a better presented form to study those things that you want to manage. +For an example about how to use it, see :ref:`Getting information about building model with Sinergym`. Extra configuration =================== @@ -416,7 +385,7 @@ The main steps you have to follow are the next: available in the simulation before starting. In order to be able to do these checks, you need to copy **RDD file** with the same name than *IDF* file (except extension) to `variables `__. - To obtain this **RDD file** you have to run a simulation with *Energyplus* directly + To obtain this **RDD file**, you have to run a simulation with *Energyplus* directly and extract from output folder. Make sure that **Output:VariableDictionary** object in *IDF* has the value *Regular* in order to *RDD* file has the correct format for *Sinergym*. diff --git a/docs/compilation/html/_sources/pages/introduction.rst.txt b/docs/compilation/html/_sources/pages/introduction.rst.txt index 78b97cb35b..1e178c6288 100644 --- a/docs/compilation/html/_sources/pages/introduction.rst.txt +++ b/docs/compilation/html/_sources/pages/introduction.rst.txt @@ -51,16 +51,12 @@ The main functionalities of *Sinergym* are the following: In short, *Sinergym* automates the whole process of model adaptation so that the user only has to define what he wants for his environment. -- **Automatic external interface integration for actions**. As far as building model (*IDF*) adaptation - is concerned, it is not enough to set up an external interface and set user-specified - variable names. It is also necessary to make certain adjustments to the building components to be - controlled, so that they use the external variables defined by the user instead of the default - controllers implicitly provided by the building model. To do this, *Sinergym* provides a functionality - that can adapt actuators to the desired building zones by providing a specification by the user. - The building model will be manipulated based on this information automatically. In other words, - if the components to be controlled are directly supported by *Sinergym*, the building model can be modified - accordingly to be controlled, otherwise the user will have to modify the *IDF* file manually. More actuator - types will be directly supported by *Sinergym* in the future. +- **Automatic external interface integration for actions**. Sinergym provides functionality to obtain information + about the environments such as the zones or the schedulers available in the environment model. Using that information, + which is possible to export in a excel, users can know which controllers are available in the building and, then, control + them with an external interface from an agent. To do this, users will make an **action definition** in which it is + indicated which default controllers they want to replace in a specific format and *Sinergym* will take care of the relevant internal + changes in the model. - **Stable Baseline 3 Integration**. Some functionalities like callbacks have been customized by our team in order to test easily these environments @@ -82,6 +78,9 @@ The main functionalities of *Sinergym* are the following: the users in order to help them become familiar with the tool. They are constantly updated, along with the updates and improvements of the tool itself. +- This project is accompanied by extensive **documentation**, **unit tests** and **github actions workflows** to make + *Sinergym* an efficient ecosystem for both understanding and development. + - Many more! .. note:: *This is a work in progress project. Stay tuned for upcoming releases!* diff --git a/docs/compilation/html/_sources/pages/modules/sinergym.envs.eplus_env.EplusEnv.rst.txt b/docs/compilation/html/_sources/pages/modules/sinergym.envs.eplus_env.EplusEnv.rst.txt index db07195bc7..a83779c2c0 100644 --- a/docs/compilation/html/_sources/pages/modules/sinergym.envs.eplus_env.EplusEnv.rst.txt +++ b/docs/compilation/html/_sources/pages/modules/sinergym.envs.eplus_env.EplusEnv.rst.txt @@ -17,7 +17,8 @@ ~EplusEnv.__init__ ~EplusEnv.close - ~EplusEnv.get_actuators + ~EplusEnv.get_schedulers + ~EplusEnv.get_zones ~EplusEnv.render ~EplusEnv.reset ~EplusEnv.seed diff --git a/docs/compilation/html/_sources/pages/modules/sinergym.utils.config.Config.rst.txt b/docs/compilation/html/_sources/pages/modules/sinergym.utils.config.Config.rst.txt index 42463eb48e..1aaeb7ce1b 100644 --- a/docs/compilation/html/_sources/pages/modules/sinergym.utils.config.Config.rst.txt +++ b/docs/compilation/html/_sources/pages/modules/sinergym.utils.config.Config.rst.txt @@ -21,6 +21,7 @@ ~Config.adapt_variables_to_cfg_and_idf ~Config.apply_extra_conf ~Config.apply_weather_variability + ~Config.get_schedulers ~Config.save_building_model ~Config.save_variables_cfg ~Config.set_episode_working_dir diff --git a/docs/compilation/html/genindex.html b/docs/compilation/html/genindex.html index 5338b17493..257efb0a0b 100644 --- a/docs/compilation/html/genindex.html +++ b/docs/compilation/html/genindex.html @@ -63,7 +63,6 @@