in analysis/GreenSKU-Framework/src/carbon_model.py [0:0]
def _set_server_carbon(self) -> None:
"""Set the carbon emissions for the server. NOT amortized. (i.e., rack/DC stuff is not included)"""
self.server_operational = 0
self.server_embodied = 0
self.component_server_operational = {}
self.component_server_embodied = {}
self.component_server_carbon = {}
for key in self.component_carbon:
if key == 'rack' or key == 'dc':
continue
component_operational = self.component_operational[key]
component_embodied = self.component_embodied[key]
# multiply by the number of sockets if the component is per-socket
if key in self.per_socket:
component_operational *= self.socket_count
component_embodied *= self.socket_count
self.server_operational += component_operational
self.server_embodied += component_embodied
self.component_server_operational[key] = component_operational
self.component_server_embodied[key] = component_embodied
self.component_server_carbon[key] = component_operational + component_embodied
self.server_carbon = self.server_operational + self.server_embodied