{ "cells": [ { "cell_type": "markdown", "id": "a264c94a", "metadata": {}, "source": [ "# Using ``addAccis()`` to apply adaptive setpoint temperatures" ] }, { "cell_type": "markdown", "id": "0abeef88", "metadata": {}, "source": [ "We are going to apply the adaptive setpoint temperatures to the idf \"TestModel_onlyGeometryForVRFsystem_2zones_CalcVent_V2310\", that can be found in the path ``accim/sample_files/sample IDFs/input_IDFs``. However, for clarity purposes, has been renamed to \"TestModel.idf\".\n", "\n", "First of all, let's see what files we do have in the folder:" ] }, { "cell_type": "code", "execution_count": 1, "id": "c9b15135", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['.ipynb_checkpoints', 'TestModel.idf', 'using_addAccis.ipynb', '__init__.py']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "os.listdir()" ] }, { "cell_type": "markdown", "id": "46c3547f", "metadata": {}, "source": [ "You can see there is/are a/some IDF file/files there, which is/are:" ] }, { "cell_type": "code", "execution_count": 2, "id": "4196067e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TestModel.idf\n" ] } ], "source": [ "input_idf = [i for i in os.listdir() if i.endswith('.idf')]\n", "print(*input_idf, sep='\\n')" ] }, { "cell_type": "markdown", "id": "f18564b5", "metadata": {}, "source": [ "So, let's apply adaptive setpoint temperatures." ] }, { "cell_type": "markdown", "id": "aab3d871", "metadata": {}, "source": [ "## 1. General use" ] }, { "cell_type": "markdown", "id": "cc062f08", "metadata": {}, "source": [ "### 1.1 Short version" ] }, { "cell_type": "markdown", "id": "0131ddbe", "metadata": {}, "source": [ "First, let's do this using the short version. When we run the code below (not entering any argument), accim will request some information to generate the output idfs. We are going to enter the following information in **bold**:\n", "\n", "Enter the ScriptType (\n", "for VRFsystem with full air-conditioning mode: vrf_ac;\n", "for VRFsystem with mixed-mode: vrf_mm;\n", "for ExistingHVAC with mixed mode: ex_mm;\n", "for ExistingHVAC with full air-conditioning mode: ex_ac\n", "): **vrf_mm**\n", "\n", "Enter the SupplyAirTempInputMethod (\n", "for Supply Air Temperature: supply air temperature;\n", "for Temperature Difference: temperature difference;\n", "): **temperature difference**\n", "\n", "Do you want to keep the existing outputs (true or false)?: **false**\n", "\n", "Enter the Output type (standard, simplified or detailed): **standard**\n", "\n", "Enter the Output frequencies separated by space (timestep, hourly, daily, monthly, runperiod): **hourly runperiod**\n", "\n", "Do you want to generate a dataframe to see all outputs? (true or false): **false**\n", "\n", "Enter the EnergyPlus version (9.1 to 23.1): **23.1**\n", "\n", "Enter the Temperature Control method (temperature or pmv): **temperature**" ] }, { "cell_type": "markdown", "id": "c9108d6e", "metadata": {}, "source": [ "Then, accim will report the information we just entered, and will start generating a generic idf file, which will be modified based on the remaining arguments accim will request in a second stage. Again, we are going to enter the following information in **bold**:\n", "\n", "Enter the Comfort Standard numbers separated by space (...): **1 14**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the Category numbers separated by space (...): **1 2 3 80 90**\n", " \n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the Comfort Mode numbers separated by space (...): **0 0.1 0.2 0.3 0.4 0.5 1 1.1 1.2 1.3 1.4 1.5 2 3**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the setpoint accuracy number (any number greater than 0): **100**\n", "\n", "Are you sure the number is correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the start of the cooling season in numeric date format dd/mm or the day of the year: **01/11**\n", "\n", "Are you sure the number is correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the end of the cooling season in numeric date format dd/mm or the day of the year: **01/03**\n", "\n", "Are you sure the number is correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the HVAC Mode numbers separated by space (...): **2**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)** \n", "\n", "Enter the Ventilation Control numbers separated by space (...): **2**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)** \n", "\n", "Enter the maximum temperature difference number for Ventilation Opening Factor (any number larger than 0): **20**\n", "\n", "Are you sure the number is correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the minimum temperature difference number for Ventilation Opening Factor (any number larger than 0 and smaller than the maximum temperature difference number): **1**\n", "\n", "Are you sure the number is correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the multiplier number for Ventilation Opening Factor (any number between 0 and 1): **0.2**\n", "\n", "Are you sure the number is correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the VSToffset numbers separated by space (if omitted, will be 0): **(just hit enter)**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the MinOToffset numbers separated by space (if omitted, will be 50): **(just hit enter)**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the MaxWindSpeed numbers separated by space (if omitted, will be 50): **(just hit enter)**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the ASTtol value from (if omitted, will be 0.1): **(just hit enter)**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the ASTtol value to (if omitted, will be 0.1): **(just hit enter)**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "Enter the ASTtol value steps (if omitted, will be 0.1): **(just hit enter)**\n", "\n", "Are you sure the numbers are correct? [y or [] / n]: **(just hit enter)**\n", "\n", "And finally:\n", "\n", "Do you still want to run ACCIS? [y/n]: **y**" ] }, { "cell_type": "code", "execution_count": null, "id": "1e621ed0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "--------------------------------------------------------\n", "Adaptive-Comfort-Control-Implemented Model (ACCIM) v0.7.5\n", "--------------------------------------------------------\n", "\n", "This tool allows to apply adaptive setpoint temperatures. \n", "For further information, please read the documentation: \n", "https://accim.readthedocs.io/en/master/\n", "For a visual understanding of the tool, please visit the following jupyter notebooks:\n", "- Using addAccis() to apply adaptive setpoint temperatures\n", "https://accim.readthedocs.io/en/master/jupyter_notebooks/addAccis/using_addAccis.html\n", "- Using rename_epw_files() to rename the EPWs for proper data analysis after simulation\n", "https://accim.readthedocs.io/en/master/jupyter_notebooks/rename_epw_files/using_rename_epw_files.html\n", "- Using runEp() to directly run simulations with EnergyPlus\n", "https://accim.readthedocs.io/en/master/jupyter_notebooks/runEp/using_runEp.html\n", "- Using the class Table() for data analysis\n", "https://accim.readthedocs.io/en/master/jupyter_notebooks/Table/using_Table.html\n", "- Full example\n", "https://accim.readthedocs.io/en/master/jupyter_notebooks/full_example/full_example.html\n", "\n", "Starting with the process.\n", "\n", "Now, you are going to be asked to enter some information for different arguments to generate the output IDFs with adaptive setpoint temperatures. \n", "If you are not sure about how to use these parameters, please take a look at the documentation in the following link: \n", "https://accim.readthedocs.io/en/master/4_detailed%20use.html\n", "\n", "Please, enter the following information:\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "\n", "Enter the ScriptType (\n", "for VRFsystem with full air-conditioning mode: vrf_ac;\n", "for VRFsystem with mixed-mode: vrf_mm;\n", "for ExistingHVAC with mixed mode: ex_mm;\n", "for ExistingHVAC with full air-conditioning mode: ex_ac\n", "): vrf_mm\n", "\n", "Enter the SupplyAirTempInputMethod (\n", "for Supply Air Temperature: supply air temperature;\n", "for Temperature Difference: temperature difference;\n", "): temperature difference\n", "\n", "Do you want to keep the existing outputs (true or false)?: false\n", "\n", "Enter the Output type (standard, simplified, detailed or custom): standard\n", "\n", "Enter the Output frequencies separated by space (timestep, hourly, daily, monthly, runperiod): hourly runperiod\n", "\n", "Do you want to generate a dataframe to see all outputs? (true or false): false\n", "\n", "Enter the EnergyPlus version (9.1 to 25.1, or auto): 25.1\n", "\n", "Enter the Temperature Control method (temperature or pmv): temperature\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Basic input data:\n", "ScriptType is: vrf_mm\n", "Supply Air Temperature Input Method is: temperature difference\n", "Output type is: standard\n", "Output frequencies are: \n", "['hourly', 'runperiod']\n", "EnergyPlus version is: 25.1\n", "Temperature Control method is: temperature\n", "\n", "=======================START OF GENERIC IDF FILE GENERATION PROCESS=======================\n", "\n", "Starting with file:\n", "TestModel\n", "IDD location is: C:/EnergyPlusV25-1-0/Energy+.idd\n", "The occupied zones in the model TestModel are:\n", "BLOCK1:ZONE2\n", "BLOCK1:ZONE1\n", "The windows and doors in the model TestModel are:\n", "Block1_Zone2_Wall_3_0_0_0_0_0_Win\n", "Block1_Zone2_Wall_4_0_0_0_0_0_Win\n", "Block1_Zone2_Wall_5_0_0_0_0_0_Win\n", "Block1_Zone1_Wall_2_0_0_0_0_0_Win\n", "Block1_Zone1_Wall_3_0_0_0_0_0_Win\n", "Block1_Zone1_Wall_5_0_0_0_0_0_Win\n", "The zones in the model TestModel are:\n", "BLOCK1_ZONE2\n", "BLOCK1_ZONE1\n", "The people objects in the model have been amended.\n", "BLOCK1:ZONE2 Thermostat has been added\n", "BLOCK1:ZONE1 Thermostat has been added\n", "On Schedule already was in the model\n", "TypOperativeTempControlSch Schedule already was in the model\n", "All ZoneHVAC:IdealLoadsAirSystem Heating and Cooling availability schedules has been set to on\n", "On 24/7 Schedule already was in the model\n", "Control type schedule: Always 4 Schedule has been added\n", "Relative humidity setpoint schedule: Always 50.00 Schedule has been added\n", "Heating Fanger comfort setpoint: Always -0.5 Schedule has been added\n", "Cooling Fanger comfort setpoint: Always 0.1 Schedule has been added\n", "Zone CO2 setpoint: Always 900ppm Schedule has been added\n", "Min CO2 concentration: Always 600ppm Schedule has been added\n", "Generic contaminant setpoint: Always 0.5ppm Schedule has been added\n", "Air distribution effectiveness (always 1) Schedule has been added\n", "VRF Heating Cooling (Northern Hemisphere) Schedule has been added\n", "DefaultFanEffRatioCurve Curve:Cubic Object has been added\n", "VRFTUCoolCapFT Curve:Cubic Object has been added\n", "VRFTUHeatCapFT Curve:Cubic Object has been added\n", "VRFCoolCapFTBoundary Curve:Cubic Object has been added\n", "VRFCoolEIRFTBoundary Curve:Cubic Object has been added\n", "CoolingEIRLowPLR Curve:Cubic Object has been added\n", "VRFHeatCapFTBoundary Curve:Cubic Object has been added\n", "VRFHeatEIRFTBoundary Curve:Cubic Object has been added\n", "HeatingEIRLowPLR Curve:Cubic Object has been added\n", "DefaultFanPowerRatioCurve Curve:Exponent Object has been added\n", "DXHtgCoilDefrostEIRFT Curve:Biquadratic Object has been added\n", "VRFCoolCapFT Curve:Biquadratic Object has been added\n", "VRFCoolCapFTHi Curve:Biquadratic Object has been added\n", "VRFCoolEIRFT Curve:Biquadratic Object has been added\n", "VRFCoolEIRFTHi Curve:Biquadratic Object has been added\n", "VRFHeatCapFT Curve:Biquadratic Object has been added\n", "VRFHeatCapFTHi Curve:Biquadratic Object has been added\n", "VRFHeatEIRFT Curve:Biquadratic Object has been added\n", "VRFHeatEIRFTHi Curve:Biquadratic Object has been added\n", "CoolingLengthCorrectionFactor Curve:Biquadratic Object has been added\n", "VRF Piping Correction Factor for Length in Heating Mode Curve:Biquadratic Object has been added\n", "VRF Heat Recovery Cooling Capacity Modifier Curve:Biquadratic Object has been added\n", "VRF Heat Recovery Cooling Energy Modifier Curve:Biquadratic Object has been added\n", "VRF Heat Recovery Heating Capacity Modifier Curve:Biquadratic Object has been added\n", "VRF Heat Recovery Heating Energy Modifier Curve:Biquadratic Object has been added\n", "VRFACCoolCapFFF Curve:Quadratic Object has been added\n", "CoolingEIRHiPLR Curve:Quadratic Object has been added\n", "VRFCPLFFPLR Curve:Quadratic Object has been added\n", "HeatingEIRHiPLR Curve:Quadratic Object has been added\n", "CoolingCombRatio Curve:Linear Object has been added\n", "HeatingCombRatio Curve:Linear Object has been added\n", "VRF Outdoor Unit_BLOCK1:ZONE2 AirConditioner:VariableRefrigerantFlow Object has been added\n", "VRF Outdoor Unit_BLOCK1:ZONE1 AirConditioner:VariableRefrigerantFlow Object has been added\n", "VRF Outdoor Unit_BLOCK1:ZONE2 Outdoor Air Node Object has been added\n", "VRF Outdoor Unit_BLOCK1:ZONE2 Zone List Object has been added\n", "VRF Outdoor Unit_BLOCK1:ZONE1 Outdoor Air Node Object has been added\n", "VRF Outdoor Unit_BLOCK1:ZONE1 Zone List Object has been added\n", "BLOCK1:ZONE2 Sizing:Zone Object has been added\n", "BLOCK1:ZONE1 Sizing:Zone Object has been added\n", "BLOCK1:ZONE2 Design Specification Outdoor Air Object has been added\n", "BLOCK1:ZONE1 Design Specification Outdoor Air Object has been added\n", "BLOCK1:ZONE2 Design Specification Zone Air Distribution Object has been added\n", "BLOCK1:ZONE1 Design Specification Zone Air Distribution Object has been added\n", "BLOCK1:ZONE2 Nodelist Objects has been added\n", "BLOCK1:ZONE1 Nodelist Objects has been added\n", "BLOCK1:ZONE2 ZoneHVAC:EquipmentConnections Objects has been added\n", "BLOCK1:ZONE1 ZoneHVAC:EquipmentConnections Objects has been added\n", "BLOCK1:ZONE2 ZoneHVAC:EquipmentList Objects has been added\n", "BLOCK1:ZONE1 ZoneHVAC:EquipmentList Objects has been added\n", "BLOCK1:ZONE2 ZoneHVAC:TerminalUnit:VariableRefrigerantFlow Object has been added\n", "BLOCK1:ZONE1 ZoneHVAC:TerminalUnit:VariableRefrigerantFlow Object has been added\n", "BLOCK1:ZONE2 Coil:Cooling:DX:VariableRefrigerantFlow Object has been added\n", "BLOCK1:ZONE1 Coil:Cooling:DX:VariableRefrigerantFlow Object has been added\n", "BLOCK1:ZONE2 Coil:Heating:DX:VariableRefrigerantFlow Object has been added\n", "BLOCK1:ZONE1 Coil:Heating:DX:VariableRefrigerantFlow Object has been added\n", "BLOCK1:ZONE2 Fan:ConstantVolume Object has been added\n", "BLOCK1:ZONE1 Fan:ConstantVolume Object has been added\n", "Vent_SP_temp Schedule has been added\n", "AHST_Sch_BLOCK1_ZONE2 Schedule has been added\n", "ACST_Sch_BLOCK1_ZONE2 Schedule has been added\n", "AHST_Sch_BLOCK1_ZONE1 Schedule has been added\n", "ACST_Sch_BLOCK1_ZONE1 Schedule has been added\n", "Added - SetComfTemp Program\n", "Added - CountHours_BLOCK1_ZONE2 Program\n", "Added - CountHours_BLOCK1_ZONE1 Program\n", "Added - SetAppLimits Program\n", "Added - ApplyCAT Program\n", "Added - SetAST Program\n", "Added - SetASTnoTol Program\n", "Added - CountHoursNoApp_BLOCK1_ZONE2 Program\n", "Added - SetGeoVarBLOCK1_ZONE2 Program\n", "Added - CountHoursNoApp_BLOCK1_ZONE1 Program\n", "Added - SetGeoVarBLOCK1_ZONE1 Program\n", "Added - SetInputData Program\n", "Added - SetVOFinputData Program\n", "Added - SetVST Program\n", "Added - ApplyAST_BLOCK1_ZONE2 Program\n", "Added - ApplyAST_BLOCK1_ZONE1 Program\n", "Added - SetMyVOF_Block1_Zone2_Wall_3_0_0_0_0_0_Win Program\n", "Added - SetWindowOperation_Block1_Zone2_Wall_3_0_0_0_0_0_Win Program\n", "Added - SetMyVOF_Block1_Zone2_Wall_4_0_0_0_0_0_Win Program\n", "Added - SetWindowOperation_Block1_Zone2_Wall_4_0_0_0_0_0_Win Program\n", "Added - SetMyVOF_Block1_Zone2_Wall_5_0_0_0_0_0_Win Program\n", "Added - SetWindowOperation_Block1_Zone2_Wall_5_0_0_0_0_0_Win Program\n", "Added - SetMyVOF_Block1_Zone1_Wall_2_0_0_0_0_0_Win Program\n", "Added - SetWindowOperation_Block1_Zone1_Wall_2_0_0_0_0_0_Win Program\n", "Added - SetMyVOF_Block1_Zone1_Wall_3_0_0_0_0_0_Win Program\n", "Added - SetWindowOperation_Block1_Zone1_Wall_3_0_0_0_0_0_Win Program\n", "Added - SetMyVOF_Block1_Zone1_Wall_5_0_0_0_0_0_Win Program\n", "Added - SetWindowOperation_Block1_Zone1_Wall_5_0_0_0_0_0_Win Program\n", "Added - Comfort Temperature Output Variable\n", "Added - Adaptive Cooling Setpoint Temperature Output Variable\n", "Added - Adaptive Heating Setpoint Temperature Output Variable\n", "Added - Adaptive Cooling Setpoint Temperature_No Tolerance Output Variable\n", "Added - Adaptive Heating Setpoint Temperature_No Tolerance Output Variable\n", "Added - z_test_ComfStand Output Variable\n", "Added - z_test_ACSTaul Output Variable\n", "Added - z_test_ACSTall Output Variable\n", "Added - z_test_AHSTaul Output Variable\n", "Added - z_test_AHSTall Output Variable\n", "Added - z_test_CAT Output Variable\n", "Added - z_test_ACSToffset Output Variable\n", "Added - z_test_AHSToffset Output Variable\n", "Added - z_test_ComfMod Output Variable\n", "Added - z_test_ACSTtol Output Variable\n", "Added - z_test_SetpointAcc Output Variable\n", "Added - z_test_CustAST_m Output Variable\n", "Added - z_test_CustAST_n Output Variable\n", "Added - z_test_AHSTtol Output Variable\n", "Added - Ventilation Setpoint Temperature Output Variable\n", "Added - Minimum Outdoor Temperature for ventilation Output Variable\n", "Added - Minimum Outdoor Temperature Difference for ventilation Output Variable\n", "Added - Maximum Outdoor Temperature Difference for ventilation Output Variable\n", "Added - Multiplier for Ventilation Opening Factor Output Variable\n", "Added - Comfortable Hours_No Applicability_BLOCK1_ZONE2 Output Variable\n", "Added - Comfortable Hours_No Applicability_BLOCK1_ZONE1 Output Variable\n", "Added - Comfortable Hours_Applicability_BLOCK1_ZONE2 Output Variable\n", "Added - Comfortable Hours_Applicability_BLOCK1_ZONE1 Output Variable\n", "Added - Occupied Comfortable Hours_No Applicability_BLOCK1_ZONE2 Output Variable\n", "Added - Occupied Comfortable Hours_No Applicability_BLOCK1_ZONE1 Output Variable\n", "Added - Occupied Discomfortable Hours_No Applicability_BLOCK1_ZONE2 Output Variable\n", "Added - Occupied Discomfortable Hours_No Applicability_BLOCK1_ZONE1 Output Variable\n", "Added - Occupied Hours_BLOCK1_ZONE2 Output Variable\n", "Added - Occupied Hours_BLOCK1_ZONE1 Output Variable\n", "Added - Discomfortable Applicable Hot Hours_BLOCK1_ZONE2 Output Variable\n", "Added - Discomfortable Applicable Hot Hours_BLOCK1_ZONE1 Output Variable\n", "Added - Discomfortable Applicable Cold Hours_BLOCK1_ZONE2 Output Variable\n", "Added - Discomfortable Applicable Cold Hours_BLOCK1_ZONE1 Output Variable\n", "Added - Discomfortable Non Applicable Hot Hours_BLOCK1_ZONE2 Output Variable\n", "Added - Discomfortable Non Applicable Hot Hours_BLOCK1_ZONE1 Output Variable\n", "Added - Discomfortable Non Applicable Cold Hours_BLOCK1_ZONE2 Output Variable\n", "Added - Discomfortable Non Applicable Cold Hours_BLOCK1_ZONE1 Output Variable\n", "Added - Zone Floor Area_BLOCK1_ZONE2 Output Variable\n", "Added - Zone Floor Area_BLOCK1_ZONE1 Output Variable\n", "Added - Zone Air Volume_BLOCK1_ZONE2 Output Variable\n", "Added - Zone Air Volume_BLOCK1_ZONE1 Output Variable\n", "Added - People Occupant Count_BLOCK1_ZONE2 Output Variable\n", "Added - People Occupant Count_BLOCK1_ZONE1 Output Variable\n", "Added - Ventilation Hours_BLOCK1_ZONE2 Output Variable\n", "Added - Ventilation Hours_BLOCK1_ZONE1 Output Variable\n", "Global variables objects have been added\n", "Internal variables objects have been added\n", "Added - RMOT Sensor\n", "Added - PMOT Sensor\n", "Added - Occ_count_BLOCK1_ZONE2 Sensor\n", "Added - Occ_count_BLOCK1_ZONE1 Sensor\n", "Added - BLOCK1_ZONE2_OpT Sensor\n", "Added - BLOCK1_ZONE2_WindSpeed Sensor\n", "Added - BLOCK1_ZONE2_OutT Sensor\n", "Added - BLOCK1_ZONE1_OpT Sensor\n", "Added - BLOCK1_ZONE1_WindSpeed Sensor\n", "Added - BLOCK1_ZONE1_OutT Sensor\n", "Added - Block1_Zone2_Wall_3_0_0_0_0_0_Win_OpT Sensor\n", "Added - Block1_Zone2_Wall_3_0_0_0_0_0_Win_WindSpeed Sensor\n", "Added - Block1_Zone2_Wall_3_0_0_0_0_0_Win_OutT Sensor\n", "Added - Block1_Zone2_Wall_3_0_0_0_0_0_Win_Occ_count Sensor\n", "Added - Block1_Zone2_Wall_4_0_0_0_0_0_Win_OpT Sensor\n", "Added - Block1_Zone2_Wall_4_0_0_0_0_0_Win_WindSpeed Sensor\n", "Added - Block1_Zone2_Wall_4_0_0_0_0_0_Win_OutT Sensor\n", "Added - Block1_Zone2_Wall_4_0_0_0_0_0_Win_Occ_count Sensor\n", "Added - Block1_Zone2_Wall_5_0_0_0_0_0_Win_OpT Sensor\n", "Added - Block1_Zone2_Wall_5_0_0_0_0_0_Win_WindSpeed Sensor\n", "Added - Block1_Zone2_Wall_5_0_0_0_0_0_Win_OutT Sensor\n", "Added - Block1_Zone2_Wall_5_0_0_0_0_0_Win_Occ_count Sensor\n", "Added - Block1_Zone1_Wall_2_0_0_0_0_0_Win_OpT Sensor\n", "Added - Block1_Zone1_Wall_2_0_0_0_0_0_Win_WindSpeed Sensor\n", "Added - Block1_Zone1_Wall_2_0_0_0_0_0_Win_OutT Sensor\n", "Added - Block1_Zone1_Wall_2_0_0_0_0_0_Win_Occ_count Sensor\n", "Added - Block1_Zone1_Wall_3_0_0_0_0_0_Win_OpT Sensor\n", "Added - Block1_Zone1_Wall_3_0_0_0_0_0_Win_WindSpeed Sensor\n", "Added - Block1_Zone1_Wall_3_0_0_0_0_0_Win_OutT Sensor\n", "Added - Block1_Zone1_Wall_3_0_0_0_0_0_Win_Occ_count Sensor\n", "Added - Block1_Zone1_Wall_5_0_0_0_0_0_Win_OpT Sensor\n", "Added - Block1_Zone1_Wall_5_0_0_0_0_0_Win_WindSpeed Sensor\n", "Added - Block1_Zone1_Wall_5_0_0_0_0_0_Win_OutT Sensor\n", "Added - Block1_Zone1_Wall_5_0_0_0_0_0_Win_Occ_count Sensor\n", "Added - OutT Sensor\n", "Added - AHST_Act_BLOCK1_ZONE2 Actuator\n", "Added - ACST_Act_BLOCK1:ZONE2 Actuator\n", "Added - AHST_Act_BLOCK1_ZONE1 Actuator\n", "Added - ACST_Act_BLOCK1:ZONE1 Actuator\n", "Added - Block1_Zone2_Wall_3_0_0_0_0_0_Win_VentOpenFact Actuator\n", "Added - Block1_Zone2_Wall_4_0_0_0_0_0_Win_VentOpenFact Actuator\n", "Added - Block1_Zone2_Wall_5_0_0_0_0_0_Win_VentOpenFact Actuator\n", "Added - Block1_Zone1_Wall_2_0_0_0_0_0_Win_VentOpenFact Actuator\n", "Added - Block1_Zone1_Wall_3_0_0_0_0_0_Win_VentOpenFact Actuator\n", "Added - Block1_Zone1_Wall_5_0_0_0_0_0_Win_VentOpenFact Actuator\n", "Added - BLOCK1_ZONE2_CoolCoil Sensor\n", "Added - BLOCK1_ZONE2_HeatCoil Sensor\n", "Added - BLOCK1_ZONE1_CoolCoil Sensor\n", "Added - BLOCK1_ZONE1_HeatCoil Sensor\n", "Added - Block1_Zone2_Wall_3_0_0_0_0_0_Win_CoolCoil Sensor\n", "Added - Block1_Zone2_Wall_3_0_0_0_0_0_Win_HeatCoil Sensor\n", "Added - Block1_Zone2_Wall_4_0_0_0_0_0_Win_CoolCoil Sensor\n", "Added - Block1_Zone2_Wall_4_0_0_0_0_0_Win_HeatCoil Sensor\n", "Added - Block1_Zone2_Wall_5_0_0_0_0_0_Win_CoolCoil Sensor\n", "Added - Block1_Zone2_Wall_5_0_0_0_0_0_Win_HeatCoil Sensor\n", "Added - Block1_Zone1_Wall_2_0_0_0_0_0_Win_CoolCoil Sensor\n", "Added - Block1_Zone1_Wall_2_0_0_0_0_0_Win_HeatCoil Sensor\n", "Added - Block1_Zone1_Wall_3_0_0_0_0_0_Win_CoolCoil Sensor\n", "Added - Block1_Zone1_Wall_3_0_0_0_0_0_Win_HeatCoil Sensor\n", "Added - Block1_Zone1_Wall_5_0_0_0_0_0_Win_CoolCoil Sensor\n", "Added - Block1_Zone1_Wall_5_0_0_0_0_0_Win_HeatCoil Sensor\n", "Added - SetComfTemp Program Calling Manager\n", "Added - CountHours_BLOCK1_ZONE2 Program Calling Manager\n", "Added - CountHours_BLOCK1_ZONE1 Program Calling Manager\n", "Added - SetAppLimits Program Calling Manager\n", "Added - ApplyCAT Program Calling Manager\n", "Added - SetAST Program Calling Manager\n", "Added - SetASTnoTol Program Calling Manager\n", "Added - CountHoursNoApp_BLOCK1_ZONE2 Program Calling Manager\n", "Added - SetGeoVarBLOCK1_ZONE2 Program Calling Manager\n", "Added - CountHoursNoApp_BLOCK1_ZONE1 Program Calling Manager\n", "Added - SetGeoVarBLOCK1_ZONE1 Program Calling Manager\n", "Added - SetInputData Program Calling Manager\n", "Added - SetVOFinputData Program Calling Manager\n", "Added - SetVST Program Calling Manager\n", "Added - ApplyAST_BLOCK1_ZONE2 Program Calling Manager\n", "Added - ApplyAST_BLOCK1_ZONE1 Program Calling Manager\n", "Added - SetMyVOF_Block1_Zone2_Wall_3_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetWindowOperation_Block1_Zone2_Wall_3_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetMyVOF_Block1_Zone2_Wall_4_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetWindowOperation_Block1_Zone2_Wall_4_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetMyVOF_Block1_Zone2_Wall_5_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetWindowOperation_Block1_Zone2_Wall_5_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetMyVOF_Block1_Zone1_Wall_2_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetWindowOperation_Block1_Zone1_Wall_2_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetMyVOF_Block1_Zone1_Wall_3_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetWindowOperation_Block1_Zone1_Wall_3_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetMyVOF_Block1_Zone1_Wall_5_0_0_0_0_0_Win Program Calling Manager\n", "Added - SetWindowOperation_Block1_Zone1_Wall_5_0_0_0_0_0_Win Program Calling Manager\n", "Added - OutputControl:Files object\n", "Added - Output:VariableDictionary object\n", "Added - Comfort Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Adaptive Cooling Setpoint Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Adaptive Heating Setpoint Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Adaptive Cooling Setpoint Temperature_No Tolerance Reporting FrequencyHourly Output:Variable data\n", "Added - Adaptive Heating Setpoint Temperature_No Tolerance Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_ComfStand Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_ACSTaul Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_ACSTall Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_AHSTaul Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_AHSTall Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_CAT Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_ACSToffset Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_AHSToffset Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_ComfMod Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_ACSTtol Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_SetpointAcc Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_CustAST_m Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_CustAST_n Reporting FrequencyHourly Output:Variable data\n", "Added - z_test_AHSTtol Reporting FrequencyHourly Output:Variable data\n", "Added - Ventilation Setpoint Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Minimum Outdoor Temperature for ventilation Reporting FrequencyHourly Output:Variable data\n", "Added - Minimum Outdoor Temperature Difference for ventilation Reporting FrequencyHourly Output:Variable data\n", "Added - Maximum Outdoor Temperature Difference for ventilation Reporting FrequencyHourly Output:Variable data\n", "Added - Multiplier for Ventilation Opening Factor Reporting FrequencyHourly Output:Variable data\n", "Added - Comfortable Hours_No Applicability_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Comfortable Hours_No Applicability_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Comfortable Hours_Applicability_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Comfortable Hours_Applicability_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Occupied Comfortable Hours_No Applicability_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Occupied Comfortable Hours_No Applicability_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Occupied Discomfortable Hours_No Applicability_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Occupied Discomfortable Hours_No Applicability_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Occupied Hours_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Occupied Hours_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Applicable Hot Hours_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Applicable Hot Hours_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Applicable Cold Hours_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Applicable Cold Hours_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Non Applicable Hot Hours_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Non Applicable Hot Hours_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Non Applicable Cold Hours_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Discomfortable Non Applicable Cold Hours_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Floor Area_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Floor Area_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Air Volume_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Air Volume_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - People Occupant Count_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - People Occupant Count_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Ventilation Hours_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - Ventilation Hours_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Thermostat Operative Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Thermostat Air Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Operative Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Thermal Comfort CEN 15251 Adaptive Model Running Average Outdoor Air Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Zone Thermal Comfort ASHRAE 55 Adaptive Model Running Average Outdoor Air Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Cooling Coil Total Cooling Rate Reporting FrequencyHourly Output:Variable data\n", "Added - Heating Coil Heating Rate Reporting FrequencyHourly Output:Variable data\n", "Added - Facility Total HVAC Electric Demand Power Reporting FrequencyHourly Output:Variable data\n", "Added - Facility Total HVAC Electricity Demand Rate Reporting FrequencyHourly Output:Variable data\n", "Added - AFN Surface Venting Window or Door Opening Factor Reporting FrequencyHourly Output:Variable data\n", "Added - AFN Zone Infiltration Air Change Rate Reporting FrequencyHourly Output:Variable data\n", "Added - AFN Zone Infiltration Volume Reporting FrequencyHourly Output:Variable data\n", "Added - AFN Zone Ventilation Air Change Rate Reporting FrequencyHourly Output:Variable data\n", "Added - AFN Zone Ventilation Volume Reporting FrequencyHourly Output:Variable data\n", "Added - Site Outdoor Air Drybulb Temperature Reporting FrequencyHourly Output:Variable data\n", "Added - Site Wind Speed Reporting FrequencyHourly Output:Variable data\n", "Added - Site Outdoor Air Relative Humidity Reporting FrequencyHourly Output:Variable data\n", "Added - AHST_Sch_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - ACST_Sch_BLOCK1_ZONE2 Reporting FrequencyHourly Output:Variable data\n", "Added - AHST_Sch_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - ACST_Sch_BLOCK1_ZONE1 Reporting FrequencyHourly Output:Variable data\n", "Added - VRF Heat Pump Cooling Electricity Energy Reporting FrequencyHourly Output:Variable data\n", "Added - VRF Heat Pump Heating Electricity Energy Reporting FrequencyHourly Output:Variable data\n", "Added - BLOCK1_ZONE2 VRF Indoor Unit DX Cooling Coil Reporting FrequencyHourly Output:Variable data\n", "Added - BLOCK1_ZONE2 VRF Indoor Unit DX Heating Coil Reporting Frequency Hourly Output:Variable data\n", "Added - BLOCK1_ZONE1 VRF Indoor Unit DX Cooling Coil Reporting FrequencyHourly Output:Variable data\n", "Added - BLOCK1_ZONE1 VRF Indoor Unit DX Heating Coil Reporting Frequency Hourly Output:Variable data\n", "Added - Comfort Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Adaptive Cooling Setpoint Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Adaptive Heating Setpoint Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Adaptive Cooling Setpoint Temperature_No Tolerance Reporting FrequencyRunperiod Output:Variable data\n", "Added - Adaptive Heating Setpoint Temperature_No Tolerance Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_ComfStand Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_ACSTaul Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_ACSTall Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_AHSTaul Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_AHSTall Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_CAT Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_ACSToffset Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_AHSToffset Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_ComfMod Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_ACSTtol Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_SetpointAcc Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_CustAST_m Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_CustAST_n Reporting FrequencyRunperiod Output:Variable data\n", "Added - z_test_AHSTtol Reporting FrequencyRunperiod Output:Variable data\n", "Added - Ventilation Setpoint Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Minimum Outdoor Temperature for ventilation Reporting FrequencyRunperiod Output:Variable data\n", "Added - Minimum Outdoor Temperature Difference for ventilation Reporting FrequencyRunperiod Output:Variable data\n", "Added - Maximum Outdoor Temperature Difference for ventilation Reporting FrequencyRunperiod Output:Variable data\n", "Added - Multiplier for Ventilation Opening Factor Reporting FrequencyRunperiod Output:Variable data\n", "Added - Comfortable Hours_No Applicability_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Comfortable Hours_No Applicability_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Comfortable Hours_Applicability_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Comfortable Hours_Applicability_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Occupied Comfortable Hours_No Applicability_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Occupied Comfortable Hours_No Applicability_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Occupied Discomfortable Hours_No Applicability_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Occupied Discomfortable Hours_No Applicability_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Occupied Hours_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Occupied Hours_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Applicable Hot Hours_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Applicable Hot Hours_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Applicable Cold Hours_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Applicable Cold Hours_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Non Applicable Hot Hours_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Non Applicable Hot Hours_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Non Applicable Cold Hours_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Discomfortable Non Applicable Cold Hours_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Floor Area_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Floor Area_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Air Volume_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Air Volume_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - People Occupant Count_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - People Occupant Count_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Ventilation Hours_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Ventilation Hours_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Thermostat Operative Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Thermostat Air Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Operative Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Thermal Comfort CEN 15251 Adaptive Model Running Average Outdoor Air Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Zone Thermal Comfort ASHRAE 55 Adaptive Model Running Average Outdoor Air Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Cooling Coil Total Cooling Rate Reporting FrequencyRunperiod Output:Variable data\n", "Added - Heating Coil Heating Rate Reporting FrequencyRunperiod Output:Variable data\n", "Added - Facility Total HVAC Electric Demand Power Reporting FrequencyRunperiod Output:Variable data\n", "Added - Facility Total HVAC Electricity Demand Rate Reporting FrequencyRunperiod Output:Variable data\n", "Added - AFN Surface Venting Window or Door Opening Factor Reporting FrequencyRunperiod Output:Variable data\n", "Added - AFN Zone Infiltration Air Change Rate Reporting FrequencyRunperiod Output:Variable data\n", "Added - AFN Zone Infiltration Volume Reporting FrequencyRunperiod Output:Variable data\n", "Added - AFN Zone Ventilation Air Change Rate Reporting FrequencyRunperiod Output:Variable data\n", "Added - AFN Zone Ventilation Volume Reporting FrequencyRunperiod Output:Variable data\n", "Added - Site Outdoor Air Drybulb Temperature Reporting FrequencyRunperiod Output:Variable data\n", "Added - Site Wind Speed Reporting FrequencyRunperiod Output:Variable data\n", "Added - Site Outdoor Air Relative Humidity Reporting FrequencyRunperiod Output:Variable data\n", "Added - AHST_Sch_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - ACST_Sch_BLOCK1_ZONE2 Reporting FrequencyRunperiod Output:Variable data\n", "Added - AHST_Sch_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - ACST_Sch_BLOCK1_ZONE1 Reporting FrequencyRunperiod Output:Variable data\n", "Added - VRF Heat Pump Cooling Electricity Energy Reporting FrequencyRunperiod Output:Variable data\n", "Added - VRF Heat Pump Heating Electricity Energy Reporting FrequencyRunperiod Output:Variable data\n", "Added - BLOCK1_ZONE2 VRF Indoor Unit DX Cooling Coil Reporting FrequencyRunperiod Output:Variable data\n", "Added - BLOCK1_ZONE2 VRF Indoor Unit DX Heating Coil Reporting Frequency Runperiod Output:Variable data\n", "Added - BLOCK1_ZONE1 VRF Indoor Unit DX Cooling Coil Reporting FrequencyRunperiod Output:Variable data\n", "Added - BLOCK1_ZONE1 VRF Indoor Unit DX Heating Coil Reporting Frequency Runperiod Output:Variable data\n", "IDF has been saved\n", "Ending with file:\n", "TestModel\n", "\n", "=======================END OF GENERIC IDF FILE GENERATION PROCESS=======================\n", "\n", "The following IDFs will not work, and therefore these will be deleted:\n", "None\n", "\n", "=======================START OF OUTPUT IDF FILES GENERATION PROCESS=======================\n", "\n", "The information you will be required to enter below will be used to generate the customised output IDFs:\n" ] } ], "source": [ "from accim.sim import accis\n", "accis.addAccis()" ] }, { "cell_type": "markdown", "id": "2bfaf01e", "metadata": {}, "source": [ "Let's see what files we do have now in the folder:" ] }, { "cell_type": "code", "execution_count": null, "id": "e47978f3", "metadata": {}, "outputs": [], "source": [ "os.listdir()" ] }, { "cell_type": "markdown", "id": "280a5879", "metadata": {}, "source": [ "We can see there are new IDFs, as stated previously in the python console:" ] }, { "cell_type": "code", "execution_count": null, "id": "0440bb05", "metadata": {}, "outputs": [], "source": [ "output_idfs = [i for i in os.listdir() if not(any(i in j for j in input_idf)) and i.endswith('.idf')]\n", "print(*output_idfs, sep='\\n')" ] }, { "cell_type": "markdown", "id": "0daa5a95", "metadata": {}, "source": [ "Now, these are ready for simulation with any EPW file, although it is recommended to have previously renamed them with the class rename_epw_files()." ] }, { "cell_type": "markdown", "id": "70006b79", "metadata": {}, "source": [ "Let's remove the new output IDFs for clarity purposes:" ] }, { "cell_type": "code", "execution_count": null, "id": "1eadbb5c", "metadata": {}, "outputs": [], "source": [ "for i in os.listdir():\n", " if i.endswith('.idf') and input_idf[0] not in i:\n", " os.remove(i)" ] }, { "cell_type": "markdown", "id": "77963da4", "metadata": {}, "source": [ "### 1.2 Longer version" ] }, { "cell_type": "markdown", "id": "7c73d8db", "metadata": {}, "source": [ "Let's double check we only have the initial idf we used in the short version:" ] }, { "cell_type": "code", "execution_count": null, "id": "e050ff99", "metadata": {}, "outputs": [], "source": [ "input_idf = [i for i in os.listdir() if i.endswith('.idf')]\n", "print(*input_idf, sep='\\n')" ] }, { "cell_type": "markdown", "id": "2970ffb3", "metadata": {}, "source": [ "Now, let's do the same, but using the longer version:" ] }, { "cell_type": "code", "execution_count": null, "id": "34103695", "metadata": {}, "outputs": [], "source": [ "from accim.sim import accis\n", "accis.addAccis(\n", " ScriptType='vrf_mm',\n", " SupplyAirTempInputMethod='temperature difference',\n", " Output_keep_existing=False,\n", " Output_type='standard',\n", " Output_freqs=['hourly', 'runperiod'],\n", " Output_gen_dataframe=False,\n", " EnergyPlus_version='23.1',\n", " TempCtrl='temperature',\n", " ComfStand=[1, 14],\n", " CAT=[1, 2, 3, 80, 90],\n", " ComfMod=[0, 0.1, 0.2, 0.3, 0.4, 0.5, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 2, 3],\n", " SetpointAcc=100,\n", " CoolSeasonStart='01/11',\n", " CoolSeasonEnd='01/03',\n", " HVACmode=[2],\n", " VentCtrl=[2],\n", " MaxTempDiffVOF=20,\n", " MinTempDiffVOF=1,\n", " MultiplierVOF=0.2,\n", " VSToffset=[0],\n", " MinOToffset=[50],\n", " MaxWindSpeed=[50],\n", " ASTtol_steps=0.1,\n", " ASTtol_start=0.1,\n", " ASTtol_end_input=0.1,\n", " confirmGen=True\n", ")" ] }, { "cell_type": "markdown", "id": "01cef30d", "metadata": {}, "source": [ "Let's see what files we do have now in the folder:" ] }, { "cell_type": "code", "execution_count": null, "id": "ee295d9e", "metadata": {}, "outputs": [], "source": [ "os.listdir()" ] }, { "cell_type": "markdown", "id": "840fe2f5", "metadata": {}, "source": [ "We can see there are new IDFs, as stated previously in the python console:" ] }, { "cell_type": "code", "execution_count": null, "id": "745e496e", "metadata": {}, "outputs": [], "source": [ "output_idfs = [i for i in os.listdir() if not(any(i in j for j in input_idf)) and i.endswith('.idf')]\n", "print(*output_idfs, sep='\\n')" ] }, { "cell_type": "markdown", "id": "fced4582", "metadata": {}, "source": [ "Now, these are ready for simulation with any EPW file, although it is recommended to have previously renamed them with the class rename_epw_files()." ] }, { "cell_type": "markdown", "id": "c57ef0a7", "metadata": {}, "source": [ "Let's remove the new output IDFs for clarity purposes:" ] }, { "cell_type": "code", "execution_count": null, "id": "f7fd5cea", "metadata": {}, "outputs": [], "source": [ "for i in os.listdir():\n", " if i.endswith('.idf') and input_idf[0] not in i:\n", " os.remove(i)" ] }, { "cell_type": "markdown", "id": "66decce5", "metadata": {}, "source": [ "## 2. Other uses" ] }, { "cell_type": "markdown", "id": "207cea81", "metadata": {}, "source": [ "### 2.1 Storing the ``addAccis()`` class and inspecting the output IDFs" ] }, { "cell_type": "markdown", "id": "83da5c29", "metadata": {}, "source": [ "Addittionally to just run ``addAccis()`` (i.e. instantiate the class), the user can also store the instance and inspect some variables. So let's store the instance in the variable ``add_accis_instance`` and then we'll take a look what's inside:" ] }, { "cell_type": "code", "execution_count": null, "id": "fd787ae1", "metadata": {}, "outputs": [], "source": [ "from accim.sim import accis\n", "add_accis_instance = accis.addAccis(\n", " ScriptType='vrf_mm',\n", " SupplyAirTempInputMethod='temperature difference',\n", " Output_keep_existing=False,\n", " Output_type='standard',\n", " Output_freqs=['hourly', 'runperiod'],\n", " Output_gen_dataframe=False,\n", " EnergyPlus_version='23.1',\n", " TempCtrl='temperature',\n", " ComfStand=[1, 14],\n", " CAT=[1, 2, 3, 80, 90],\n", " ComfMod=[0, 0.1, 0.2, 0.3, 0.4, 0.5, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 2, 3],\n", " SetpointAcc=100,\n", " CoolSeasonStart='01/11',\n", " CoolSeasonEnd='01/03',\n", " HVACmode=[2],\n", " VentCtrl=[2],\n", " MaxTempDiffVOF=20,\n", " MinTempDiffVOF=1,\n", " MultiplierVOF=0.2,\n", " VSToffset=[0],\n", " MinOToffset=[50],\n", " MaxWindSpeed=[50],\n", " ASTtol_steps=0.1,\n", " ASTtol_start=0.1,\n", " ASTtol_end_input=0.1,\n", " confirmGen=True\n", ")" ] }, { "cell_type": "markdown", "id": "0b6e9fd0", "metadata": {}, "source": [ "Now, let's take a look into the variables within the ``addAccis()`` instance ``add_accis_instance``:" ] }, { "cell_type": "code", "execution_count": null, "id": "ebc06d0e", "metadata": {}, "outputs": [], "source": [ "[i for i in dir(add_accis_instance) if '__' not in i]" ] }, { "cell_type": "raw", "id": "909e34a8", "metadata": {}, "source": [ "For instance, we can take a look at the arguments we have requested when ``addAccis`` was called:" ] }, { "cell_type": "code", "execution_count": null, "id": "28445c8c", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.arguments" ] }, { "cell_type": "markdown", "id": "210b8cbb", "metadata": {}, "source": [ "Also, we can see the list of occupied zones and windows and doors in each model, considering the original names and the new names needed by accim:" ] }, { "cell_type": "code", "execution_count": null, "id": "beba66d9", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.occupied_zones" ] }, { "cell_type": "code", "execution_count": null, "id": "0cc70620", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.occupied_zones_original_name" ] }, { "cell_type": "code", "execution_count": null, "id": "294f0b6e", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.windows_and_doors" ] }, { "cell_type": "code", "execution_count": null, "id": "7e5f28e0", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.windows_and_doors_original_name" ] }, { "cell_type": "markdown", "id": "998c16d0", "metadata": {}, "source": [ "As you can see, these variables are dictionaries following the pattern: ``{'input idf filename': [list]}``" ] }, { "cell_type": "markdown", "id": "9c2214e0", "metadata": {}, "source": [ "Also, we can inspect both the input and output idf files using eppy. In both cases, the variables ``input_idfs`` and ``output_idfs`` contains a dictionary following the pattern ``{'idf filename': eppy.modeleditor.IDF object}``. For instance, let's take a look at the ``input_idfs`` variable." ] }, { "cell_type": "code", "execution_count": null, "id": "96d0d43d", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.input_idfs" ] }, { "cell_type": "markdown", "id": "d4206501", "metadata": {}, "source": [ "So let's read the eppy.modeleditor.IDF object of the idf TestModel. For instance, let's see which zones are in the IDF by reading it, and if these are the same as previously seen in ``add_accis_instance.occupied_zones_original_name``:" ] }, { "cell_type": "code", "execution_count": null, "id": "92912031", "metadata": {}, "outputs": [], "source": [ "testmodel = add_accis_instance.input_idfs['TestModel']\n", "testmodel.idfobjects['ZONE']" ] }, { "cell_type": "markdown", "id": "1e2cfc8a", "metadata": {}, "source": [ "And we can see these are the same. Also, you can take a look at the variable ``output_idfs``, which is another dictionary similar to ``input_idfs`` but with the output files." ] }, { "cell_type": "code", "execution_count": null, "id": "b8e7c8e0", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.output_idfs" ] }, { "cell_type": "markdown", "id": "a65459c7", "metadata": {}, "source": [ "Let's read the last one. Let's see, for instance, the Schedule:Compact objects for the thermostats:" ] }, { "cell_type": "code", "execution_count": null, "id": "f2b44b85", "metadata": {}, "outputs": [], "source": [ "ast_testmodel = add_accis_instance.output_idfs[\n", " 'TestModel[CS_AUS DeDear[CA_90[CM_3[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf'\n", "]\n", "ast_testmodel.idfobjects['ThermostatSetpoint:DualSetpoint']" ] }, { "cell_type": "markdown", "id": "82c2190f", "metadata": {}, "source": [ "And now let's compare this with the input idf:" ] }, { "cell_type": "code", "execution_count": null, "id": "3a8dee6d", "metadata": {}, "outputs": [], "source": [ "testmodel.idfobjects['ThermostatSetpoint:DualSetpoint']" ] }, { "cell_type": "markdown", "id": "e23408bf", "metadata": {}, "source": [ "Therefore, we can confirm the Schedule:Compact objects for output idf stored in variable ``ast_testmodel`` are AHST and ACST, and thus, adaptive setpoint temperatures have been applied. However, this is different in the original idf, stored in variable ``testmodel``, in which setpoint temperatures are static." ] }, { "cell_type": "markdown", "id": "1bcf934b", "metadata": {}, "source": [ "For more information about the use of eppy, please refer to the documentation at https://eppy.readthedocs.io/en/latest/ or https://eppy.readthedocs.io/en/latest/Main_Tutorial.html" ] }, { "cell_type": "markdown", "id": "1b033236", "metadata": {}, "source": [ "Let's delete all the output idf files so that we can re-run the notebook." ] }, { "cell_type": "code", "execution_count": null, "id": "381d2085", "metadata": {}, "outputs": [], "source": [ "for i in os.listdir():\n", " if i.endswith('.idf') and input_idf[0] not in i:\n", " os.remove(i)" ] }, { "cell_type": "markdown", "id": "531c04df", "metadata": {}, "source": [ "### 2.2 Specifying the outputs in the IDF" ] }, { "cell_type": "markdown", "id": "b44e3a07", "metadata": {}, "source": [ "#### 2.2.1 Using ``Output_type='custom'``" ] }, { "cell_type": "markdown", "id": "c1fab98c", "metadata": {}, "source": [ "Imagine you need to perform a large number of simulations, therefore, using ``Output_type='standard'`` would result in a heavy dataset. Using ``Output_type='simplified'`` is not an option, since you need more outputs than just the operative temperature, heating coil heating rate and cooling coil total cooling rate. In that case, you can use ``Output_type='custom'``. If you do so, accim will iterate through the existing reporting frequencies and will show you all the existing Output:Variable objects for that frequency, and then, you'll be asked the following:\n", "- firstly, you'll need to say if you want to remove some object or otherwise keep some and remove all others by entering \"remove\" or \"keep\"\n", "- secondly, you'll have to say all Output:Variable objects you want to remove or keep\n", "\n", "So let's say we want to keep (therefore, enter **keep**) the following Output:Variable objects (you may not be aware of them, but in that case, you can see the existing objects in the list accim prints), which you'll need to enter separted by semicolon (;):\n", "\n", "**Zone Operative Temperature;Adaptive Cooling Setpoint Temperature_No Tolerance;Adaptive Heating Setpoint Temperature_No Tolerance**\n", "\n", "Also, in this case, we are going to store the ``addAccis()`` instance in the variable ``add_accis_instance`` (similar to previous section 2.1), so that we can inspect it later." ] }, { "cell_type": "markdown", "id": "e1ad6159", "metadata": {}, "source": [ "First of all, let's see the idfs we do have in this path:" ] }, { "cell_type": "code", "execution_count": null, "id": "a5673312", "metadata": {}, "outputs": [], "source": [ "from os import listdir\n", "input_idfs = [i for i in listdir() if i.endswith('.idf')]\n", "input_idfs" ] }, { "cell_type": "markdown", "id": "9fc2e0f4", "metadata": {}, "source": [ "Now, we can go for it:" ] }, { "cell_type": "code", "execution_count": null, "id": "f73dc646", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TestModel[CS_AUS DeDear[CA_90[CM_0.4[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_0.5[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_1.1[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_1.2[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_1.3[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_1.4[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_1.5[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_2[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "TestModel[CS_AUS DeDear[CA_90[CM_3[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf\n", "\n", "=======================END OF OUTPUT IDF FILES GENERATION PROCESS=======================\n", "\n" ] } ], "source": [ "from accim.sim import accis\n", "add_accis_instance = accis.addAccis(\n", " ScriptType='vrf_mm',\n", " SupplyAirTempInputMethod='temperature difference',\n", " Output_keep_existing=False,\n", " Output_type='custom',\n", " Output_freqs=['hourly', 'runperiod'],\n", " Output_gen_dataframe=False,\n", " EnergyPlus_version='23.1',\n", " TempCtrl='temperature',\n", " ComfStand=[1, 14],\n", " CAT=[1, 2, 3, 80, 90],\n", " ComfMod=[0, 0.1, 0.2, 0.3, 0.4, 0.5, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 2, 3],\n", " SetpointAcc=100,\n", " CoolSeasonStart='01/11',\n", " CoolSeasonEnd='01/03',\n", " HVACmode=[2],\n", " VentCtrl=[2],\n", " MaxTempDiffVOF=20,\n", " MinTempDiffVOF=1,\n", " MultiplierVOF=0.2,\n", " VSToffset=[0],\n", " MinOToffset=[50],\n", " MaxWindSpeed=[50],\n", " ASTtol_steps=0.1,\n", " ASTtol_start=0.1,\n", " ASTtol_end_input=0.1,\n", " confirmGen=True\n", ")" ] }, { "cell_type": "markdown", "id": "2266ac9b", "metadata": {}, "source": [ "Now, let's inspect the Output:Variable objects in both the input idf and any of the output idfs, for instance, the first one." ] }, { "cell_type": "code", "execution_count": null, "id": "6f6e8a31", "metadata": {}, "outputs": [], "source": [ "input_testmodel = add_accis_instance.input_idfs['TestModel']\n", "input_testmodel.idfobjects['Output:Variable']" ] }, { "cell_type": "markdown", "id": "a6e8101a", "metadata": {}, "source": [ "We can see there is no Output:Variable object in the input idf. Now let's see some output idf." ] }, { "cell_type": "code", "execution_count": null, "id": "83eae1ec", "metadata": {}, "outputs": [], "source": [ "output_testmodel = add_accis_instance.output_idfs[\n", " 'TestModel[CS_INT EN16798[CA_1[CM_0[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf'\n", "]\n", "output_testmodel.idfobjects['Output:Variable']" ] }, { "cell_type": "markdown", "id": "ae1f42a4", "metadata": {}, "source": [ "We can see in this case 6 Output:Variable objects, which are the ones we previously requested:\n", "- Zone Operative Temperature\n", "- Adaptive Cooling Setpoint Temperature_No Tolerance\n", "- Adaptive Heating Setpoint Temperature_No Tolerance\n", "\n", "in both Hourly and Runperiod Reporting Frequencies." ] }, { "cell_type": "markdown", "id": "901909a0", "metadata": {}, "source": [ "As usual, let's remove all the output idfs, so that we can re-run the notebook." ] }, { "cell_type": "code", "execution_count": null, "id": "4635d74e", "metadata": {}, "outputs": [], "source": [ "for i in os.listdir():\n", " if i.endswith('.idf') and input_idf[0] not in i:\n", " os.remove(i)" ] }, { "cell_type": "markdown", "id": "cb077ea3", "metadata": {}, "source": [ "#### 2.2.2 Using ``Output_gen_dataframe`` and ``Output_take_dataframe``" ] }, { "cell_type": "markdown", "id": "285761d5", "metadata": {}, "source": [ "Similar to section 2.2.1, imagine you need to perform a large number of simulations. Therefore, using Output_type='standard' would result in a heavy dataset. Using Output_type='simplified' is not an option, since you need more outputs than just the operative temperature, heating coil heating rate and cooling coil total cooling rate. In that case, you can use ``Output_gen_dataframe`` and ``Output_take_dataframe``." ] }, { "cell_type": "markdown", "id": "93101e94", "metadata": {}, "source": [ "First of all, let's see the idfs we do have in this path:" ] }, { "cell_type": "code", "execution_count": null, "id": "9772b5fc", "metadata": {}, "outputs": [], "source": [ "from os import listdir\n", "input_idfs = [i for i in listdir() if i.endswith('.idf')]\n", "input_idfs" ] }, { "cell_type": "markdown", "id": "9d4e41f7", "metadata": {}, "source": [ "Now, we can go for it. Let's apply the adaptive setpoint temperatures. We want to see what outputs we would have if we run this script, therefore, we need to specify ``Output_gen_dataframe=True``. Since we don't want to generate the output idfs yet, in this case let's specify ``confirmGen=False``." ] }, { "cell_type": "code", "execution_count": null, "id": "97f14bfa", "metadata": {}, "outputs": [], "source": [ "from accim.sim import accis\n", "add_accis_instance = accis.addAccis(\n", " ScriptType='vrf_mm',\n", " SupplyAirTempInputMethod='temperature difference',\n", " Output_keep_existing=False,\n", " Output_type='standard',\n", " Output_freqs=['hourly', 'runperiod'],\n", " Output_gen_dataframe=True,\n", " EnergyPlus_version='23.1',\n", " TempCtrl='temperature',\n", " ComfStand=[1, 14],\n", " CAT=[1, 2, 3, 80, 90],\n", " ComfMod=[0, 0.1, 0.2, 0.3, 0.4, 0.5, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 2, 3],\n", " SetpointAcc=100,\n", " CoolSeasonStart='01/11',\n", " CoolSeasonEnd='01/03',\n", " HVACmode=[2],\n", " VentCtrl=[2],\n", " MaxTempDiffVOF=20,\n", " MinTempDiffVOF=1,\n", " MultiplierVOF=0.2,\n", " VSToffset=[0],\n", " MinOToffset=[50],\n", " MaxWindSpeed=[50],\n", " ASTtol_steps=0.1,\n", " ASTtol_start=0.1,\n", " ASTtol_end_input=0.1,\n", " confirmGen=False\n", ")" ] }, { "cell_type": "markdown", "id": "2eb81aa8", "metadata": {}, "source": [ "We can see no output idf has been generated:" ] }, { "cell_type": "code", "execution_count": null, "id": "27ea4789", "metadata": {}, "outputs": [], "source": [ "[i for i in listdir() if i.endswith('.idf')]" ] }, { "cell_type": "markdown", "id": "501ba682", "metadata": {}, "source": [ "However, in this case, there is a variable within ``add_accis_instance`` named ``df_outputs``, which is a pandas DataFrame that contains all Output:Variable objects. Let's take a look:" ] }, { "cell_type": "code", "execution_count": null, "id": "cab2dfbd", "metadata": {}, "outputs": [], "source": [ "add_accis_instance.df_outputs" ] }, { "cell_type": "markdown", "id": "e55e78d6", "metadata": {}, "source": [ "Now, let's save it in a new variable, and let's filter it to keep only the Output:Variable objects we need." ] }, { "cell_type": "code", "execution_count": null, "id": "9c2653b0", "metadata": {}, "outputs": [], "source": [ "df_outputs_in = add_accis_instance.df_outputs\n", "df_outputs_in = df_outputs_in[\n", " (\n", " df_outputs_in['variable_name'].str.contains('Zone Operative Temperature')\n", " |\n", " df_outputs_in['variable_name'].str.contains('Adaptive Cooling Setpoint Temperature_No Tolerance')\n", " |\n", " df_outputs_in['variable_name'].str.contains('Adaptive Heating Setpoint Temperature_No Tolerance')\n", " )\n", "]\n", "df_outputs_in\n" ] }, { "cell_type": "markdown", "id": "d480a412", "metadata": {}, "source": [ "Now, we can run again ``addAccis``, specifying ``Output_gen_dataframe=False``, entering the pandas DataFrame instance ``df_outputs_in`` we just filtered in the argument ``Output_take_dataframe``, and specifying ``confirmGen=True``, since now we're ready to apply the adaptive setpoints." ] }, { "cell_type": "code", "execution_count": null, "id": "a4b37ace", "metadata": {}, "outputs": [], "source": [ "from accim.sim import accis\n", "add_accis_instance = accis.addAccis(\n", " ScriptType='vrf_mm',\n", " SupplyAirTempInputMethod='temperature difference',\n", " Output_keep_existing=False,\n", " Output_type='standard',\n", " Output_freqs=['hourly', 'runperiod'],\n", " Output_gen_dataframe=False,\n", " Output_take_dataframe=df_outputs_in,\n", " EnergyPlus_version='23.1',\n", " TempCtrl='temperature',\n", " ComfStand=[1, 14],\n", " CAT=[1, 2, 3, 80, 90],\n", " ComfMod=[0, 0.1, 0.2, 0.3, 0.4, 0.5, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 2, 3],\n", " SetpointAcc=100,\n", " CoolSeasonStart='01/11',\n", " CoolSeasonEnd='01/03',\n", " HVACmode=[2],\n", " VentCtrl=[2],\n", " MaxTempDiffVOF=20,\n", " MinTempDiffVOF=1,\n", " MultiplierVOF=0.2,\n", " VSToffset=[0],\n", " MinOToffset=[50],\n", " MaxWindSpeed=[50],\n", " ASTtol_steps=0.1,\n", " ASTtol_start=0.1,\n", " ASTtol_end_input=0.1,\n", " confirmGen=True\n", ")" ] }, { "cell_type": "markdown", "id": "dee4a6a6", "metadata": {}, "source": [ "Now, let's inspect the Output:Variable objects in both the input idf and any of the output idfs, for instance, the first one." ] }, { "cell_type": "code", "execution_count": null, "id": "1bf86fe5", "metadata": {}, "outputs": [], "source": [ "input_testmodel = add_accis_instance.input_idfs['TestModel']\n", "input_testmodel.idfobjects['Output:Variable']" ] }, { "cell_type": "markdown", "id": "3d6d518f", "metadata": {}, "source": [ "We can see there is no Output:Variable object in the input idf. Now let's see some output idf." ] }, { "cell_type": "code", "execution_count": null, "id": "810a70ad", "metadata": {}, "outputs": [], "source": [ "output_testmodel = add_accis_instance.output_idfs[\n", " 'TestModel[CS_INT EN16798[CA_1[CM_0[HM_2[VC_2[VO_0.0[MT_50.0[MW_50.0[AT_0.1[NS_X.idf'\n", "]\n", "output_testmodel.idfobjects['Output:Variable']" ] }, { "cell_type": "markdown", "id": "b596ca7e", "metadata": {}, "source": [ "We can see in this case 6 Output:Variable objects, which are the ones we previously requested:\n", "- Zone Operative Temperature\n", "- Adaptive Cooling Setpoint Temperature_No Tolerance\n", "- Adaptive Heating Setpoint Temperature_No Tolerance\n", "\n", "in both Hourly and Runperiod Reporting Frequencies." ] }, { "cell_type": "markdown", "id": "cf136c80", "metadata": {}, "source": [ "As usual, let's remove all the output idfs, so that we can re-run the notebook." ] }, { "cell_type": "code", "execution_count": null, "id": "452ca616", "metadata": {}, "outputs": [], "source": [ "for i in os.listdir():\n", " if i.endswith('.idf') and input_idf[0] not in i:\n", " os.remove(i)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.4" } }, "nbformat": 4, "nbformat_minor": 5 }