Last active
June 6, 2018 21:43
-
-
Save jmarrec/c7bc36e3707579b220325af17be1a127 to your computer and use it in GitHub Desktop.
Get Missing OpenStudio Reverse Translator (naive)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import os\n", | |
"import glob as gb\n", | |
"import pandas as pd\n", | |
"\n", | |
"def parse_classes(folder):\n", | |
" os_classes = gb.glob(os.path.join(folder, '*.cpp'))\n", | |
" os_classes = [os.path.split(os.path.splitext(p)[0])[1] for p in os_classes]\n", | |
" return os_classes\n", | |
"\n", | |
"os_root = '/Users/julien/Software/Others/OpenStudio/'\n", | |
"model_folder = os.path.join(os_root, 'openstudiocore/src/model/')\n", | |
"rt_folder = os.path.join(os_root, 'openstudiocore/src/energyplus/ReverseTranslator/')\n", | |
"\n", | |
"model_classes = parse_classes(model_folder)\n", | |
"rt_classes = parse_classes(rt_folder)\n", | |
"\n", | |
"s_model = pd.Series(True, index=model_classes, name='ModelClass')\n", | |
"s_rt = pd.Series(True, index=rt_classes, name='RTClass')\n", | |
"# Strip 'ReverseTranslate' from name\n", | |
"s_rt.index = s_rt.index.str.replace('ReverseTranslate', '')\n", | |
"\n", | |
"df = pd.concat([s_model, s_rt], axis=1)\n", | |
"df.loc[df['ModelClass'].isnull(), 'ModelClass'] = False\n", | |
"df['ModelClass'] = df['ModelClass'].astype(bool)\n", | |
"df.loc[df['RTClass'].isnull(), 'RTClass'] = False\n", | |
"df['RTClass'] = df['RTClass'].astype(bool)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 54, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Found 524 classes in model and 124 in RT\n" | |
] | |
} | |
], | |
"source": [ | |
"print(\"Found {} classes in model and {} in RT\".format(df['ModelClass'].sum(), df['RTClass'].sum()))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Display Number Found/Missing" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"False 428\n", | |
"True 124\n", | |
"Name: RTClass, dtype: int64" | |
] | |
}, | |
"execution_count": 49, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['RTClass'].value_counts()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 55, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>ModelClass</th>\n", | |
" <th>RTClass</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>BuildingSurfaceDetailed</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>CoilSystemCoolingDX</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>DaylightingControls</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>FenestrationSurfaceDetailed</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>MaterialAirGap</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>MaterialNoMass</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>OutputIlluminanceMap</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>OutputMeterCumulative</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>OutputMeterCumulativeMeterFileOnly</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>OutputMeterMeterFileOnly</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ScheduleDayHourly</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ScheduleDayInterval</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ScheduleWeekDaily</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ShadingBuildingDetailed</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ShadingSiteDetailed</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ShadingZoneDetailed</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>SiteLocation</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>SizingPeriodDesignDay</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>SurfaceConvectionAlgorithmInside</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>SurfaceConvectionAlgorithmOutside</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>WindowMaterialGas</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>WindowMaterialGlazing</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>WindowMaterialSimpleGlazingSystem</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>Zone</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ZoneCrossMixing</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ZoneInfiltrationDesignFlowRate</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ZoneInfiltrationEffectiveLeakageArea</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ZoneList</th>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" ModelClass RTClass\n", | |
"BuildingSurfaceDetailed False True\n", | |
"CoilSystemCoolingDX False True\n", | |
"DaylightingControls False True\n", | |
"FenestrationSurfaceDetailed False True\n", | |
"MaterialAirGap False True\n", | |
"MaterialNoMass False True\n", | |
"OutputIlluminanceMap False True\n", | |
"OutputMeterCumulative False True\n", | |
"OutputMeterCumulativeMeterFileOnly False True\n", | |
"OutputMeterMeterFileOnly False True\n", | |
"ScheduleDayHourly False True\n", | |
"ScheduleDayInterval False True\n", | |
"ScheduleWeekDaily False True\n", | |
"ShadingBuildingDetailed False True\n", | |
"ShadingSiteDetailed False True\n", | |
"ShadingZoneDetailed False True\n", | |
"SiteLocation False True\n", | |
"SizingPeriodDesignDay False True\n", | |
"SurfaceConvectionAlgorithmInside False True\n", | |
"SurfaceConvectionAlgorithmOutside False True\n", | |
"WindowMaterialGas False True\n", | |
"WindowMaterialGlazing False True\n", | |
"WindowMaterialSimpleGlazingSystem False True\n", | |
"Zone False True\n", | |
"ZoneCrossMixing False True\n", | |
"ZoneInfiltrationDesignFlowRate False True\n", | |
"ZoneInfiltrationEffectiveLeakageArea False True\n", | |
"ZoneList False True" | |
] | |
}, | |
"execution_count": 55, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Stuff that has a RT and no ModelClass (probably name mismatch)\n", | |
"df[df['RTClass'] & ~df['ModelClass']]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Display the missing ones\n", | |
"\n", | |
"Obviously some of these shouldn't have a RT (AccessPolicyStore, Loop, etc)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 56, | |
"metadata": { | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"['AccessPolicyStore',\n", | |
" 'AdditionalProperties',\n", | |
" 'AirConditionerVariableRefrigerantFlow',\n", | |
" 'AirGap',\n", | |
" 'AirLoopHVACReturnPlenum',\n", | |
" 'AirLoopHVACSupplyPlenum',\n", | |
" 'AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass',\n", | |
" 'AirLoopHVACUnitaryHeatPumpAirToAir',\n", | |
" 'AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed',\n", | |
" 'AirLoopHVACUnitarySystem',\n", | |
" 'AirLoopHVACZoneMixer',\n", | |
" 'AirLoopHVACZoneSplitter',\n", | |
" 'AirTerminalDualDuctConstantVolume',\n", | |
" 'AirTerminalDualDuctVAV',\n", | |
" 'AirTerminalDualDuctVAVOutdoorAir',\n", | |
" 'AirTerminalSingleDuctConstantVolumeCooledBeam',\n", | |
" 'AirTerminalSingleDuctConstantVolumeFourPipeBeam',\n", | |
" 'AirTerminalSingleDuctConstantVolumeFourPipeInduction',\n", | |
" 'AirTerminalSingleDuctInletSideMixer',\n", | |
" 'AirTerminalSingleDuctParallelPIUReheat',\n", | |
" 'AirTerminalSingleDuctSeriesPIUReheat',\n", | |
" 'AirTerminalSingleDuctVAVHeatAndCoolNoReheat',\n", | |
" 'AirTerminalSingleDuctVAVHeatAndCoolReheat',\n", | |
" 'AirToAirComponent',\n", | |
" 'AirWallMaterial',\n", | |
" 'AirflowNetworkComponent',\n", | |
" 'AirflowNetworkConstantPressureDrop',\n", | |
" 'AirflowNetworkCrack',\n", | |
" 'AirflowNetworkDetailedOpening',\n", | |
" 'AirflowNetworkDistributionLinkage',\n", | |
" 'AirflowNetworkDistributionNode',\n", | |
" 'AirflowNetworkDuct',\n", | |
" 'AirflowNetworkDuctViewFactors',\n", | |
" 'AirflowNetworkEffectiveLeakageArea',\n", | |
" 'AirflowNetworkEquivalentDuct',\n", | |
" 'AirflowNetworkExternalNode',\n", | |
" 'AirflowNetworkFan',\n", | |
" 'AirflowNetworkHorizontalOpening',\n", | |
" 'AirflowNetworkLeakageRatio',\n", | |
" 'AirflowNetworkLinkage',\n", | |
" 'AirflowNetworkNode',\n", | |
" 'AirflowNetworkOccupantVentilationControl',\n", | |
" 'AirflowNetworkOutdoorAirflow',\n", | |
" 'AirflowNetworkReferenceCrackConditions',\n", | |
" 'AirflowNetworkSimpleOpening',\n", | |
" 'AirflowNetworkSimulationControl',\n", | |
" 'AirflowNetworkSurface',\n", | |
" 'AirflowNetworkZone',\n", | |
" 'AirflowNetworkZoneExhaustFan',\n", | |
" 'AvailabilityManager',\n", | |
" 'AvailabilityManagerAssignmentList',\n", | |
" 'AvailabilityManagerDifferentialThermostat',\n", | |
" 'AvailabilityManagerHighTemperatureTurnOff',\n", | |
" 'AvailabilityManagerHighTemperatureTurnOn',\n", | |
" 'AvailabilityManagerHybridVentilation',\n", | |
" 'AvailabilityManagerLowTemperatureTurnOff',\n", | |
" 'AvailabilityManagerLowTemperatureTurnOn',\n", | |
" 'AvailabilityManagerNightCycle',\n", | |
" 'AvailabilityManagerNightVentilation',\n", | |
" 'AvailabilityManagerOptimumStart',\n", | |
" 'AvailabilityManagerScheduled',\n", | |
" 'AvailabilityManagerScheduledOff',\n", | |
" 'AvailabilityManagerScheduledOn',\n", | |
" 'Blind',\n", | |
" 'BoilerHotWater',\n", | |
" 'BoilerSteam',\n", | |
" 'BuildingStory',\n", | |
" 'BuildingUnit',\n", | |
" 'CFactorUndergroundWallConstruction',\n", | |
" 'CentralHeatPumpSystem',\n", | |
" 'CentralHeatPumpSystemModule',\n", | |
" 'ChillerAbsorption',\n", | |
" 'ChillerAbsorptionIndirect',\n", | |
" 'ChillerElectricEIR',\n", | |
" 'ChillerHeaterPerformanceElectricEIR',\n", | |
" 'ClimateZones',\n", | |
" 'CoilCoolingCooledBeam',\n", | |
" 'CoilCoolingDXMultiSpeed',\n", | |
" 'CoilCoolingDXMultiSpeedStageData',\n", | |
" 'CoilCoolingDXTwoSpeed',\n", | |
" 'CoilCoolingDXTwoStageWithHumidityControlMode',\n", | |
" 'CoilCoolingDXVariableRefrigerantFlow',\n", | |
" 'CoilCoolingDXVariableSpeed',\n", | |
" 'CoilCoolingDXVariableSpeedSpeedData',\n", | |
" 'CoilCoolingFourPipeBeam',\n", | |
" 'CoilCoolingLowTempRadiantConstFlow',\n", | |
" 'CoilCoolingLowTempRadiantVarFlow',\n", | |
" 'CoilCoolingWater',\n", | |
" 'CoilCoolingWaterToAirHeatPumpEquationFit',\n", | |
" 'CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit',\n", | |
" 'CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData',\n", | |
" 'CoilHeatingDXMultiSpeed',\n", | |
" 'CoilHeatingDXMultiSpeedStageData',\n", | |
" 'CoilHeatingDXSingleSpeed',\n", | |
" 'CoilHeatingDXVariableRefrigerantFlow',\n", | |
" 'CoilHeatingDXVariableSpeed',\n", | |
" 'CoilHeatingDXVariableSpeedSpeedData',\n", | |
" 'CoilHeatingDesuperheater',\n", | |
" 'CoilHeatingElectric',\n", | |
" 'CoilHeatingFourPipeBeam',\n", | |
" 'CoilHeatingGasMultiStage',\n", | |
" 'CoilHeatingGasMultiStageStageData',\n", | |
" 'CoilHeatingLowTempRadiantConstFlow',\n", | |
" 'CoilHeatingLowTempRadiantVarFlow',\n", | |
" 'CoilHeatingWater',\n", | |
" 'CoilHeatingWaterBaseboard',\n", | |
" 'CoilHeatingWaterBaseboardRadiant',\n", | |
" 'CoilHeatingWaterToAirHeatPumpEquationFit',\n", | |
" 'CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit',\n", | |
" 'CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData',\n", | |
" 'CoilPerformanceDXCooling',\n", | |
" 'CoilSystemCoolingDXHeatExchangerAssisted',\n", | |
" 'CoilSystemCoolingWaterHeatExchangerAssisted',\n", | |
" 'CoilWaterHeatingAirToWaterHeatPump',\n", | |
" 'CoilWaterHeatingAirToWaterHeatPumpWrapped',\n", | |
" 'CoilWaterHeatingDesuperheater',\n", | |
" 'Component',\n", | |
" 'ComponentCostAdjustments',\n", | |
" 'ComponentData',\n", | |
" 'ComponentWatcher',\n", | |
" 'Connection',\n", | |
" 'ConnectorMixer',\n", | |
" 'ConnectorSplitter',\n", | |
" 'ConstructionBase',\n", | |
" 'ConstructionWithInternalSource',\n", | |
" 'ControllerMechanicalVentilation',\n", | |
" 'ControllerWaterCoil',\n", | |
" 'CoolingTowerPerformanceCoolTools',\n", | |
" 'CoolingTowerPerformanceYorkCalc',\n", | |
" 'CoolingTowerSingleSpeed',\n", | |
" 'CoolingTowerTwoSpeed',\n", | |
" 'CoolingTowerVariableSpeed',\n", | |
" 'CurrencyType',\n", | |
" 'Curve',\n", | |
" 'DaylightRedirectionDevice',\n", | |
" 'DaylightingControl',\n", | |
" 'DaylightingDeviceShelf',\n", | |
" 'DefaultConstructionSet',\n", | |
" 'DefaultScheduleSet',\n", | |
" 'DefaultSubSurfaceConstructions',\n", | |
" 'DefaultSurfaceConstructions',\n", | |
" 'DesignDay',\n", | |
" 'DesignSpecificationZoneAirDistribution',\n", | |
" 'DistrictCooling',\n", | |
" 'DistrictHeating',\n", | |
" 'Duct',\n", | |
" 'ElectricEquipmentDefinition',\n", | |
" 'ElectricLoadCenterDistribution',\n", | |
" 'ElectricLoadCenterInverterLookUpTable',\n", | |
" 'ElectricLoadCenterInverterPVWatts',\n", | |
" 'ElectricLoadCenterInverterSimple',\n", | |
" 'ElectricalStorage',\n", | |
" 'EvaporativeCoolerIndirectResearchSpecial',\n", | |
" 'EvaporativeFluidCoolerTwoSpeed',\n", | |
" 'ExteriorFuelEquipmentDefinition',\n", | |
" 'ExteriorLightsDefinition',\n", | |
" 'ExteriorLoadDefinition',\n", | |
" 'ExteriorLoadInstance',\n", | |
" 'ExteriorWaterEquipmentDefinition',\n", | |
" 'ExternalInterface',\n", | |
" 'ExternalInterfaceActuator',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitExportFromVariable',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitExportToActuator',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitExportToSchedule',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitExportToVariable',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitImport',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitImportFromVariable',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitImportToActuator',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitImportToSchedule',\n", | |
" 'ExternalInterfaceFunctionalMockupUnitImportToVariable',\n", | |
" 'ExternalInterfaceSchedule',\n", | |
" 'ExternalInterfaceVariable',\n", | |
" 'FFactorGroundFloorConstruction',\n", | |
" 'Facility',\n", | |
" 'FanOnOff',\n", | |
" 'FanVariableVolume',\n", | |
" 'FanZoneExhaust',\n", | |
" 'FenestrationMaterial',\n", | |
" 'FileOperations',\n", | |
" 'FloorplanJSForwardTranslator',\n", | |
" 'FluidCoolerSingleSpeed',\n", | |
" 'FluidCoolerTwoSpeed',\n", | |
" 'FoundationKiva',\n", | |
" 'FoundationKivaSettings',\n", | |
" 'Gas',\n", | |
" 'GasEquipmentDefinition',\n", | |
" 'GasLayer',\n", | |
" 'GasMixture',\n", | |
" 'Generator',\n", | |
" 'GeneratorFuelCell',\n", | |
" 'GeneratorFuelCellAirSupply',\n", | |
" 'GeneratorFuelCellAuxiliaryHeater',\n", | |
" 'GeneratorFuelCellElectricalStorage',\n", | |
" 'GeneratorFuelCellExhaustGasToWaterHeatExchanger',\n", | |
" 'GeneratorFuelCellInverter',\n", | |
" 'GeneratorFuelCellPowerModule',\n", | |
" 'GeneratorFuelCellStackCooler',\n", | |
" 'GeneratorFuelCellWaterSupply',\n", | |
" 'GeneratorFuelSupply',\n", | |
" 'GeneratorMicroTurbineHeatRecovery',\n", | |
" 'GeneratorPVWatts',\n", | |
" 'GeneratorPhotovoltaic',\n", | |
" 'GenericModelObject',\n", | |
" 'GlareSensor',\n", | |
" 'Glazing',\n", | |
" 'GroundHeatExchangerHorizontalTrench',\n", | |
" 'GroundHeatExchangerVertical',\n", | |
" 'HVACComponent',\n", | |
" 'HVACTemplates',\n", | |
" 'HeaderedPumpsConstantSpeed',\n", | |
" 'HeaderedPumpsVariableSpeed',\n", | |
" 'HeatExchangerAirToAirSensibleAndLatent',\n", | |
" 'HeatExchangerFluidToFluid',\n", | |
" 'HeatPumpWaterToWaterEquationFitCooling',\n", | |
" 'HeatPumpWaterToWaterEquationFitHeating',\n", | |
" 'HotWaterEquipmentDefinition',\n", | |
" 'HumidifierSteamElectric',\n", | |
" 'IlluminanceMap',\n", | |
" 'InfraredTransparentMaterial',\n", | |
" 'InsideSurfaceConvectionAlgorithm',\n", | |
" 'InteriorPartitionSurface',\n", | |
" 'InteriorPartitionSurfaceGroup',\n", | |
" 'InternalMassDefinition',\n", | |
" 'Inverter',\n", | |
" 'LayeredConstruction',\n", | |
" 'LifeCycleCost',\n", | |
" 'LifeCycleCostParameters',\n", | |
" 'LifeCycleCostUsePriceEscalation',\n", | |
" 'LightingDesignDay',\n", | |
" 'LightingSimulationControl',\n", | |
" 'LightingSimulationZone',\n", | |
" 'LightsDefinition',\n", | |
" 'LoadProfilePlant',\n", | |
" 'Loop',\n", | |
" 'Luminaire',\n", | |
" 'LuminaireDefinition',\n", | |
" 'MasslessOpaqueMaterial',\n", | |
" 'MaterialPropertyGlazingSpectralData',\n", | |
" 'MaterialPropertyMoisturePenetrationDepthSettings',\n", | |
" 'Mixer',\n", | |
" 'Model',\n", | |
" 'ModelExtensibleGroup',\n", | |
" 'ModelMerger',\n", | |
" 'ModelObject',\n", | |
" 'ModelObjectList',\n", | |
" 'ModelPartitionMaterial',\n", | |
" 'Node',\n", | |
" 'OpaqueMaterial',\n", | |
" 'OtherEquipmentDefinition',\n", | |
" 'OutputControlReportingTolerances',\n", | |
" 'OutsideSurfaceConvectionAlgorithm',\n", | |
" 'ParentObject',\n", | |
" 'PeopleDefinition',\n", | |
" 'PhotovoltaicPerformance',\n", | |
" 'PhotovoltaicPerformanceEquivalentOneDiode',\n", | |
" 'PhotovoltaicPerformanceSimple',\n", | |
" 'PipeAdiabatic',\n", | |
" 'PipeIndoor',\n", | |
" 'PipeOutdoor',\n", | |
" 'PlanarSurface',\n", | |
" 'PlanarSurfaceGroup',\n", | |
" 'PlantComponentTemperatureSource',\n", | |
" 'PlantEquipmentOperationCoolingLoad',\n", | |
" 'PlantEquipmentOperationHeatingLoad',\n", | |
" 'PlantEquipmentOperationOutdoorDewpoint',\n", | |
" 'PlantEquipmentOperationOutdoorDewpointDifference',\n", | |
" 'PlantEquipmentOperationOutdoorDryBulb',\n", | |
" 'PlantEquipmentOperationOutdoorDryBulbDifference',\n", | |
" 'PlantEquipmentOperationOutdoorRelativeHumidity',\n", | |
" 'PlantEquipmentOperationOutdoorWetBulb',\n", | |
" 'PlantEquipmentOperationOutdoorWetBulbDifference',\n", | |
" 'PlantEquipmentOperationRangeBasedScheme',\n", | |
" 'PlantEquipmentOperationScheme',\n", | |
" 'PlantLoop',\n", | |
" 'PortList',\n", | |
" 'ProgramControl',\n", | |
" 'PumpConstantSpeed',\n", | |
" 'PumpVariableSpeed',\n", | |
" 'RadianceParameters',\n", | |
" 'RefractionExtinctionGlazing',\n", | |
" 'RefrigerationAirChiller',\n", | |
" 'RefrigerationCondenserAirCooled',\n", | |
" 'RefrigerationCondenserCascade',\n", | |
" 'RefrigerationCondenserEvaporativeCooled',\n", | |
" 'RefrigerationCondenserWaterCooled',\n", | |
" 'RefrigerationDefrostCycleParameters',\n", | |
" 'RefrigerationGasCoolerAirCooled',\n", | |
" 'RefrigerationSecondarySystem',\n", | |
" 'RefrigerationSubcoolerLiquidSuction',\n", | |
" 'RefrigerationSubcoolerMechanical',\n", | |
" 'RefrigerationSystem',\n", | |
" 'RefrigerationTranscriticalSystem',\n", | |
" 'RefrigerationWalkIn',\n", | |
" 'RefrigerationWalkInZoneBoundary',\n", | |
" 'Relationship',\n", | |
" 'RenderingColor',\n", | |
" 'ResourceObject',\n", | |
" 'RoofVegetation',\n", | |
" 'Schedule',\n", | |
" 'ScheduleBase',\n", | |
" 'ScheduleDay',\n", | |
" 'ScheduleFixedInterval',\n", | |
" 'ScheduleInterval',\n", | |
" 'ScheduleRule',\n", | |
" 'ScheduleRuleset',\n", | |
" 'ScheduleTypeRegistry',\n", | |
" 'ScheduleVariableInterval',\n", | |
" 'ScheduleWeek',\n", | |
" 'Screen',\n", | |
" 'SetpointManager',\n", | |
" 'SetpointManagerColdest',\n", | |
" 'SetpointManagerFollowGroundTemperature',\n", | |
" 'SetpointManagerFollowOutdoorAirTemperature',\n", | |
" 'SetpointManagerFollowSystemNodeTemperature',\n", | |
" 'SetpointManagerMultiZoneCoolingAverage',\n", | |
" 'SetpointManagerMultiZoneHeatingAverage',\n", | |
" 'SetpointManagerMultiZoneHumidityMaximum',\n", | |
" 'SetpointManagerMultiZoneHumidityMinimum',\n", | |
" 'SetpointManagerMultiZoneMaximumHumidityAverage',\n", | |
" 'SetpointManagerMultiZoneMinimumHumidityAverage',\n", | |
" 'SetpointManagerOutdoorAirPretreat',\n", | |
" 'SetpointManagerOutdoorAirReset',\n", | |
" 'SetpointManagerScheduledDualSetpoint',\n", | |
" 'SetpointManagerSingleZoneCooling',\n", | |
" 'SetpointManagerSingleZoneHeating',\n", | |
" 'SetpointManagerSingleZoneHumidityMaximum',\n", | |
" 'SetpointManagerSingleZoneHumidityMinimum',\n", | |
" 'SetpointManagerSingleZoneOneStageCooling',\n", | |
" 'SetpointManagerSingleZoneOneStageHeating',\n", | |
" 'SetpointManagerWarmest',\n", | |
" 'SetpointManagerWarmestTemperatureFlow',\n", | |
" 'Shade',\n", | |
" 'ShadingControl',\n", | |
" 'ShadingMaterial',\n", | |
" 'ShadingSurface',\n", | |
" 'ShadingSurfaceGroup',\n", | |
" 'SimpleGlazing',\n", | |
" 'Site',\n", | |
" 'SiteGroundTemperatureDeep',\n", | |
" 'SiteGroundTemperatureFCfactorMethod',\n", | |
" 'SiteGroundTemperatureShallow',\n", | |
" 'SizingPeriod',\n", | |
" 'SizingPlant',\n", | |
" 'SkyTemperature',\n", | |
" 'SolarCollectorFlatPlatePhotovoltaicThermal',\n", | |
" 'SolarCollectorFlatPlateWater',\n", | |
" 'SolarCollectorIntegralCollectorStorage',\n", | |
" 'SolarCollectorPerformanceFlatPlate',\n", | |
" 'SolarCollectorPerformanceIntegralCollectorStorage',\n", | |
" 'SolarCollectorPerformancePhotovoltaicThermalSimple',\n", | |
" 'Space',\n", | |
" 'SpaceInfiltrationDesignFlowRate',\n", | |
" 'SpaceInfiltrationEffectiveLeakageArea',\n", | |
" 'SpaceItem',\n", | |
" 'SpaceLoad',\n", | |
" 'SpaceLoadDefinition',\n", | |
" 'SpaceLoadInstance',\n", | |
" 'SpaceType',\n", | |
" 'Splitter',\n", | |
" 'StandardGlazing',\n", | |
" 'StandardOpaqueMaterial',\n", | |
" 'StandardsInformationConstruction',\n", | |
" 'StandardsInformationMaterial',\n", | |
" 'SteamEquipmentDefinition',\n", | |
" 'StraightComponent',\n", | |
" 'SubSurface',\n", | |
" 'Surface',\n", | |
" 'SurfacePropertyConvectionCoefficients',\n", | |
" 'SurfacePropertyConvectionCoefficientsMultipleSurface',\n", | |
" 'SurfacePropertyExposedFoundationPerimeter',\n", | |
" 'SurfacePropertyOtherSideCoefficients',\n", | |
" 'SurfacePropertyOtherSideConditionsModel',\n", | |
" 'TableMultiVariableLookup',\n", | |
" 'TemperingValve',\n", | |
" 'ThermalStorageChilledWaterStratified',\n", | |
" 'ThermalStorageIceDetailed',\n", | |
" 'ThermalZone',\n", | |
" 'ThermochromicGlazing',\n", | |
" 'Thermostat',\n", | |
" 'ThreeJSForwardTranslator',\n", | |
" 'ThreeJSReverseTranslator',\n", | |
" 'UnitarySystemPerformanceMultispeed',\n", | |
" 'UtilityBill',\n", | |
" 'UtilityCost_Charge_Block',\n", | |
" 'UtilityCost_Charge_Simple',\n", | |
" 'UtilityCost_Computation',\n", | |
" 'UtilityCost_Qualify',\n", | |
" 'UtilityCost_Ratchet',\n", | |
" 'UtilityCost_Tariff',\n", | |
" 'UtilityCost_Variable',\n", | |
" 'WaterHeaterHeatPump',\n", | |
" 'WaterHeaterHeatPumpWrappedCondenser',\n", | |
" 'WaterHeaterMixed',\n", | |
" 'WaterHeaterStratified',\n", | |
" 'WaterToAirComponent',\n", | |
" 'WaterToWaterComponent',\n", | |
" 'WaterUseConnections',\n", | |
" 'WaterUseEquipment',\n", | |
" 'WaterUseEquipmentDefinition',\n", | |
" 'WeatherFile',\n", | |
" 'WeatherFileConditionType',\n", | |
" 'WeatherFileDays',\n", | |
" 'WindowDataFile',\n", | |
" 'YearDescription',\n", | |
" 'ZoneAirContaminantBalance',\n", | |
" 'ZoneCapacitanceMultiplierResearchSpecial',\n", | |
" 'ZoneControlContaminantController',\n", | |
" 'ZoneControlHumidistat',\n", | |
" 'ZoneControlThermostatStagedDualSetpoint',\n", | |
" 'ZoneHVACBaseboardConvectiveElectric',\n", | |
" 'ZoneHVACBaseboardConvectiveWater',\n", | |
" 'ZoneHVACBaseboardRadiantConvectiveElectric',\n", | |
" 'ZoneHVACBaseboardRadiantConvectiveWater',\n", | |
" 'ZoneHVACComponent',\n", | |
" 'ZoneHVACDehumidifierDX',\n", | |
" 'ZoneHVACEnergyRecoveryVentilator',\n", | |
" 'ZoneHVACEnergyRecoveryVentilatorController',\n", | |
" 'ZoneHVACFourPipeFanCoil',\n", | |
" 'ZoneHVACHighTemperatureRadiant',\n", | |
" 'ZoneHVACLowTempRadiantConstFlow',\n", | |
" 'ZoneHVACLowTempRadiantVarFlow',\n", | |
" 'ZoneHVACLowTemperatureRadiantElectric',\n", | |
" 'ZoneHVACPackagedTerminalAirConditioner',\n", | |
" 'ZoneHVACPackagedTerminalHeatPump',\n", | |
" 'ZoneHVACTerminalUnitVariableRefrigerantFlow',\n", | |
" 'ZoneHVACUnitHeater',\n", | |
" 'ZoneHVACUnitVentilator',\n", | |
" 'ZoneHVACWaterToAirHeatPump']" | |
] | |
}, | |
"execution_count": 56, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[~df['RTClass']].index.tolist()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Estimate time needed to implement all missing" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 62, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"We could assume that really only 321.0 are missing\n", | |
"Lowball estimate (1 hr/class w/ unit-test): 321.0 hours\n", | |
"High estimate (4 hr/class w/ unit-test): 1284.0 hours\n" | |
] | |
} | |
], | |
"source": [ | |
"n_missing = (~df['RTClass']).sum()\n", | |
"# We assume 25% of these are missing for a good reason...\n", | |
"n_really_missing = n_missing * 0.75\n", | |
"print(\"We could assume that really only {} are missing\".format(n_really_missing))\n", | |
"# Time for each object on AVERAGE\n", | |
"h_min = 1\n", | |
"h_max = 4\n", | |
"print(\"Lowball estimate ({} hr/class w/ unit-test): {} hours\".format(h_min, n_really_missing*h_min))\n", | |
"print(\"High estimate ({} hr/class w/ unit-test): {} hours\".format(h_max, n_really_missing*h_max))" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"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.6.4" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment