code: def mmi_to_delimited_file(self, force_flag=True):
          
          LOGGER.debug('mmi_to_delimited_text requested.')
  
          csv_path = os.path.join(
              self.output_dir, 'mmi.csv')
          # short circuit if the csv is already created.
          if os.path.exists(csv_path) and force_flag is not True:
              return csv_path
          csv_file = open(csv_path, 'w')
          csv_file.write(self.mmi_to_delimited_text())
          csv_file.close()
  
          # Also write the .csvt which contains metadata about field types
          csvt_path = os.path.join(
              self.output_dir, self.output_basename + '.csvt')
          csvt_file = open(csvt_path, 'w')
          csvt_file.write('"Real","Real","Real"')
          csvt_file.close()
  
          return csv_path
docs: Save mmi_data to delimited text file suitable for gdal_grid.
  
          The output file will be of the same format as strings returned from
          :func:`mmi_to_delimited_text`.
  
          :param force_flag: Whether to force the regeneration of the output
              file. Defaults to False.
          :type force_flag: bool
  
          :returns: The absolute file system path to the delimited text file.
          :rtype: str
  
          .. note:: An accompanying .csvt will be created which gdal uses to
             determine field types. The csvt will contain the following string:
             "Real","Real","Real". These types will be used in other conversion
             operations. For example to convert the csv to a shp you would do::
  
                ogr2ogr -select mmi -a_srs EPSG:4326 mmi.shp mmi.vrt mmi