def index_ssd_data()

in analysis/GreenSKU-Framework/src/carbon_model.py [0:0]


def index_ssd_data(ssd_type: str, ssd_size: int, data_source: str="data_sources", reuse: bool=False) -> Dict[str, Any]:
    yaml_file = 'SSD.yaml'
    if reuse:
        yaml_file = 'SSD_reuse.yaml'
    ssd_data = read_yaml(join_path(data_source, yaml_file))
    data = None
    for ssd_type_data in ssd_data:
        if ssd_type_data['type'] != ssd_type:
            continue
        for ssd_size_data in ssd_type_data['sizes']:
            if ssd_size_data['size'] != ssd_size:
                continue
            data = ssd_size_data
            # add any dict keys from ssd_type_data - except 'sizes'
            for key in ssd_type_data:
                if key != 'sizes':
                    data[key] = ssd_type_data[key]
            if 'carbon' not in data:
                data['carbon'] = 0.0
            return data
    raise ValueError(f'SSD data not found for {ssd_type} {ssd_size}')