code: def run_simulations(self, parameter_list, data_folder):
          
          self.data_folder = data_folder
          with Pool(processes=MAX_PARALLEL_PROCESSES) as pool:
              for result in pool.imap_unordered(self.launch_simulation,
                                                parameter_list):
                  yield result
docs: This function runs multiple simulations in parallel.
  
          Args:
              parameter_list (list): list of parameter combinations to simulate.
              data_folder (str): folder in which to create output folders.