<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def convert_mmi_data( grid_xml_path, title, source, output_path=None, algorithm=None, algorithm_filename_flag=True, smoothing_method=NONE_SMOOTHING, smooth_sigma=0.9, extra_keywords=None ):
 """Convenience function to convert a single file. :param grid_xml_path: Path to the xml shake grid file. :type grid_xml_path: str :param title: The title of the earthquake. :type title: str :param source: The source of the shake data. :type source: str :param place_layer: Nearby cities/places. :type place_layer: QgsVectorLayer :param place_name: Column name that indicates name of the cities. :type place_name: str :param place_population: Column name that indicates number of population. :type place_population: str :param output_path: Specify which path to use as an alternative to the default. :type output_path: str :param algorithm: Type of algorithm to be used. :type algorithm: str :param algorithm_filename_flag: Flag whether to use the algorithm in the output file's name. :type algorithm_filename_flag: bool :param smoothing_method: Smoothing method. One of None, Numpy, Scipy. :type smoothing_method: basestring :param smooth_sigma: parameter for gaussian filter used in smoothing function. :type smooth_sigma: float :returns: A path to the resulting raster file. :rtype: str """

    LOGGER.debug(grid_xml_path)
    LOGGER.debug(output_path)
    if output_path is not None:
        output_dir, output_basename = os.path.split(output_path)
        output_basename, _ = os.path.splitext(output_basename)
        LOGGER.debug(
            'output_dir : '
            + output_dir
            + 'output_basename : ' + output_basename)
    else:
        output_dir = output_path
        output_basename = None
    converter = ShakeGrid(
        title,
        source,
        grid_xml_path,
        output_dir=output_dir,
        output_basename=output_basename,
        algorithm_filename_flag=algorithm_filename_flag,
        smoothing_method=smoothing_method,
        smooth_sigma=smooth_sigma,
        extra_keywords=extra_keywords
    )
    return converter.mmi_to_raster(force_flag=True, algorithm=algorithm)