in analysis/GreenSKU-Framework/src/carbon_model.py [0:0]
def _set_rack_carbon(self) -> None:
"""Set the carbon emissions for the rack. NOT amortized. (i.e., DC stuff is not included)"""
# set the per-rack carbon emissions for the components in the rack
for key in self.component_server_carbon:
if key == 'rack' or key == 'dc':
continue
self.component_rack_operational[key] = self.component_server_operational[key] * self.server_count
self.component_rack_embodied[key] = self.component_server_embodied[key] * self.server_count
self.component_rack_carbon[key] = self.component_rack_operational[key] + self.component_rack_embodied[key]
self.component_rack_operational['rack'] = self.component_operational['rack']
self.component_rack_embodied['rack'] = self.component_embodied['rack']
self.component_rack_carbon['rack'] = self.component_rack_operational['rack'] + self.component_rack_embodied['rack']
# set the total carbon emissions for the rack - by adding on the rack carbon to servers' carbon
self.rack_operational = self.component_operational['rack'] + self.server_operational * self.server_count
self.rack_embodied = self.component_embodied['rack'] + self.server_embodied * self.server_count
self.rack_carbon = self.rack_operational + self.rack_embodied