def METHOD_NAME(self, composition_sets, conditions):
    """
    Create a SystemSpecification object for the specified conditions.
    Parameters
    ----------
    composition_sets : List[pycalphad.core.composition_set.CompositionSet]
        List of CompositionSet objects in the starting point. Modified in place.
    conditions : OrderedDict[str, float]
        Conditions to satisfy.
    Returns
    -------
    SystemSpecification
    """
    compsets = composition_sets
    state_variables = compsets[0].phase_record.state_variables
    nonvacant_elements = compsets[0].phase_record.nonvacant_elements
    num_statevars = len(state_variables)
    num_components = len(nonvacant_elements)
    chemical_potentials = np.zeros(num_components)
    prescribed_elemental_amounts = []
    prescribed_element_indices = []
    for cond, value in conditions.items():
        if str(cond).startswith('X_'):
            el = str(cond)[2:]
            el_idx = list(nonvacant_elements).index(el)
            prescribed_elemental_amounts.append(float(value))
            prescribed_element_indices.append(el_idx)
    prescribed_element_indices = np.array(prescribed_element_indices, dtype=np.int32)
    prescribed_elemental_amounts = np.array(prescribed_elemental_amounts)
    prescribed_system_amount = conditions.get('N', 1.0)
    fixed_chemical_potential_indices = np.array([nonvacant_elements.index(key[3:]) for key in conditions.keys() if key.startswith('MU_')], dtype=np.int32)
    free_chemical_potential_indices = np.array(sorted(set(range(num_components)) - set(fixed_chemical_potential_indices)), dtype=np.int32)
    for fixed_chempot_index in fixed_chemical_potential_indices:
        el = nonvacant_elements[fixed_chempot_index]
        chemical_potentials[fixed_chempot_index] = conditions.get('MU_' + str(el))
    fixed_statevar_indices = []
    for statevar_idx, statevar in enumerate(state_variables):
        if str(statevar) in [str(k) for k in conditions.keys()]:
            fixed_statevar_indices.append(statevar_idx)
    free_statevar_indices = np.array(sorted(set(range(num_statevars)) - set(fixed_statevar_indices)), dtype=np.int32)
    fixed_statevar_indices = np.array(fixed_statevar_indices, dtype=np.int32)
    fixed_stable_compset_indices = np.array([i for i, compset in enumerate(compsets) if compset.fixed], dtype=np.int32)
    spec = SystemSpecification(num_statevars, num_components, prescribed_system_amount,
                               chemical_potentials, prescribed_elemental_amounts,
                               prescribed_element_indices,
                               free_chemical_potential_indices, free_statevar_indices,
                               fixed_chemical_potential_indices, fixed_statevar_indices,
                               fixed_stable_compset_indices)
    return spec