def METHOD_NAME( script_file, data_file=None,
                                 check_gaussian=False ):
    """Copy the script `script_file` from the `unautomated directory`
    and run the simulation both in serial and paralllel.
    Then compare the results."""
    # Create a temporary directory for the simulation
    # and copy the testing script into this directory
    if os.path.exists( temporary_dir ):
        shutil.rmtree( temporary_dir )
    os.mkdir( temporary_dir )
    shutil.copy( os.path.join(origin_dir, script_file),
                os.path.join(temporary_dir, script_file) )
    if data_file is not None:
        shutil.copy( os.path.join(origin_dir, data_file),
                os.path.join(temporary_dir, data_file) )
    # Launch the script from the OS, in serial
    response = os.system(
        'cd %s; python %s' %(temporary_dir, script_file) )
    assert response==0
    # Rename the diags folder
    shutil.move( os.path.join(temporary_dir, 'diags/'),
                os.path.join(temporary_dir, 'diags_serial/') )
    # Launch the script from the OS, in parallel
    response = os.system(
        'cd %s; mpirun -np 2 python %s' %(temporary_dir, script_file) )
    assert response==0
    # Rename the diags folder
    shutil.move( os.path.join(temporary_dir, 'diags/'),
                os.path.join(temporary_dir, 'diags_parallel/') )
    # Check that the results of the initial space charge
    # calculation are identical
    check_identical_fields(
        os.path.join(temporary_dir, 'diags_serial/hdf5/'),
        os.path.join(temporary_dir, 'diags_parallel/hdf5/') )
    # Check the validity
    if check_gaussian:
        check_theory_gaussian()
    # Suppress the temporary directory
    shutil.rmtree( temporary_dir )