def acscteforwardmodel(input, exec_path='<STR_LIT>', time_stamps=False, verbose=False,<EOL>quiet=False, single_core=False, exe_args=None):
from stsci.tools import parseinput  <EOL>if exec_path:<EOL><INDENT>if not os.path.exists(exec_path):<EOL><INDENT>raise OSError('<STR_LIT>' + exec_path)<EOL><DEDENT>call_list = [exec_path]<EOL><DEDENT>else:<EOL><INDENT>call_list = ['<STR_LIT>']<EOL><DEDENT>infiles, dummy_out = parseinput.parseinput(input)<EOL>call_list.append('<STR_LIT:U+002C>'.join(infiles))<EOL>if time_stamps:<EOL><INDENT>call_list.append('<STR_LIT>')<EOL><DEDENT>if verbose:<EOL><INDENT>call_list.append('<STR_LIT>')<EOL><DEDENT>if quiet:<EOL><INDENT>call_list.append('<STR_LIT>')<EOL><DEDENT>if single_core:<EOL><INDENT>call_list.append('<STR_LIT>')<EOL><DEDENT>if exe_args:<EOL><INDENT>call_list.extend(exe_args)<EOL><DEDENT>subprocess.check_call(call_list)<EOL>
r"""
    Run the acscteforwardmodel.e executable as from the shell.

    Expect input to be ``*_blc_tmp.fits`` or ``*_flc.fits``.
    Output is automatically named ``*_ctefmod.fits``.

    Parameters
    ----------
    input : str or list of str
        Input filenames in one of these formats:

            * a single filename ('j1234567q_blc_tmp.fits')
            * a Python list of filenames
            * a partial filename with wildcards ('\*blc_tmp.fits')
            * filename of an ASN table ('j12345670_asn.fits')
            * an at-file (``@input``)

    exec_path : str, optional
        The complete path to ACSCTE forward model executable.
        If not given, run ACSCTE given by 'acscteforwardmodel.e'.

    time_stamps : bool, optional
        Set to True to turn on the printing of time stamps.

    verbose : bool, optional
        Set to True for verbose output.

    quiet : bool, optional
        Set to True for quiet output.

    single_core : bool, optional
        CTE correction in the ACSCTE forward model will by default try to use
        all available CPUs on your computer. Set this to True to force the use
        of just one CPU.

    exe_args : list, optional
        Arbitrary arguments passed to underlying executable call.
        Note: Implementation uses subprocess.call and whitespace is not
        permitted. E.g. use exe_args=['--nThreads', '1']