Skip to content

Instantly share code, notes, and snippets.

@jmarrec
Last active June 6, 2018 21:43
Show Gist options
  • Save jmarrec/c7bc36e3707579b220325af17be1a127 to your computer and use it in GitHub Desktop.
Save jmarrec/c7bc36e3707579b220325af17be1a127 to your computer and use it in GitHub Desktop.
Get Missing OpenStudio Reverse Translator (naive)
Display the source blob
Display the rendered blob
Raw
{
"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