setup a fake forward run for a pst.  The fake
    forward run simply copies existing backup versions of
    model output files to the outfiles pest(pp) is looking
    for.  This is really a development option for debugging

    Parameters
    ----------
    pst : pyemu.Pst

    new_pst_name : str

    org_cwd : str
        existing working dir
    new_cwd : str
        new working dir

def setup_fake_forward_run(pst,new_pst_name,org_cwd='.',bak_suffix="._bak",new_cwd='.'):
    """setup a fake forward run for a pst.  The fake
    forward run simply copies existing backup versions of
    model output files to the outfiles pest(pp) is looking
    for.  This is really a development option for debugging

    Parameters
    ----------
    pst : pyemu.Pst

    new_pst_name : str

    org_cwd : str
        existing working dir
    new_cwd : str
        new working dir

    """


    if new_cwd != org_cwd and not os.path.exists(new_cwd):
        os.mkdir(new_cwd)



    pairs = {}

    for output_file in pst.output_files:
        org_pth = os.path.join(org_cwd,output_file)
        new_pth = os.path.join(new_cwd,os.path.split(output_file)[-1])
        assert os.path.exists(org_pth),org_pth
        shutil.copy2(org_pth,new_pth+bak_suffix)
        pairs[output_file] = os.path.split(output_file)[-1]+bak_suffix

    if new_cwd != org_cwd:
        for files in [pst.template_files,pst.instruction_files]:
            for f in files:
                raw = os.path.split(f)
                if len(raw[0]) == 0:
                    raw = raw[1:]
                if len(raw) > 1:
                    pth = os.path.join(*raw[:-1])
                    pth = os.path.join(new_cwd,pth)
                    if not os.path.exists(pth):
                        os.makedirs(pth)

                org_pth = os.path.join(org_cwd, f)
                new_pth = os.path.join(new_cwd, f)
                assert os.path.exists(org_pth), org_pth
                shutil.copy2(org_pth,new_pth)
        for f in pst.input_files:
            raw = os.path.split(f)
            if len(raw[0]) == 0:
                raw = raw[1:]
            if len(raw) > 1:
                pth = os.path.join(*raw[:-1])
                pth = os.path.join(new_cwd, pth)
                if not os.path.exists(pth):
                    os.makedirs(pth)


        for key,f in pst.pestpp_options.items():
            if not isinstance(f,str):
                continue
                raw = os.path.split(f)
                if len(raw[0]) == 0:
                    raw = raw[1:]
                if len(raw) > 1:
                    pth = os.path.join(*raw[:-1])
                    pth = os.path.join(new_cwd, pth)
                    if not os.path.exists(pth):
                        os.makedirs(pth)
            org_pth = os.path.join(org_cwd, f)
            new_pth = os.path.join(new_cwd, f)

            if os.path.exists(org_pth):
                shutil.copy2(org_pth,new_pth)

    with open(os.path.join(new_cwd,"fake_forward_run.py"),'w') as f:
        f.write("import os\nimport shutil\n")
        for org,bak in pairs.items():
            f.write("shutil.copy2('{0}','{1}')\n".format(bak,org))
    pst.model_command = "python fake_forward_run.py"
    pst.write(os.path.join(new_cwd,new_pst_name))

    return pst