def run_hefesto_morb():
    for thing in os.listdir(home_dir_list[0] + "/MORB_Control_Files"):
        print "\n" + "Opening HeFESTo for " + str(thing) + "\n"
        time.sleep(2)
        if "control" in os.listdir(home_dir_list[0]):
            os.remove(home_dir_list[0] + "/control")
        else:
            pass
        os.chdir(home_dir_list[0] + "/MORB_Control_Files")
        print "Copying" + str(thing) + " to path " + home_dir_list[0] + "..." + "\n"
        todir = home_dir_list[0] + "/" + "control"
        copyfromdir = home_dir_list[0] + "/MORB_Control_Files/" + str(thing)
        shutil.copy(copyfromdir, todir)
        os.chdir(home_dir_list[0])
        #src = str(thing)
        #drc = "control"
        #os.rename(src, drc)
        print("Performing calculations on {thing!r} ...".format(**vars()))
        print "\n"
        print "\n" + "Opening HeFESTo for calculations on " + str(thing) + " ..." + "\n"
        print "\n"
        #working_dir = os.curdir()
        #Popen(["main"], cwd=working_dir, stdin=PIPE)
        argz = home_dir_list[0] + "/main"
        p = subprocess.Popen(argz, stdin=None, stdout=None)
        t = Timer(800, p.kill)
        print "\n" + "Timeout timer started.  800 seconds until the process is terminated and the loop continues..." + "\n"
        t.start()
        t.communicate()
        t.cancel()
        print "\n" + "Copying output files to" +  home_dir_list[0]+ "/MORB_Output_Files' directory..." + "\n"
        try:
            os.remove("control")
        except:
            print "\n" + "Control file not found!" + "\n"
            pass
        if "fort.66" in os.listdir(home_dir_list[0]):
            print "\n" + "fort.66 found!" + "\n"
            theoutputfile66 = home_dir_list[0] + "/" + "fort.66"
            outputtodir66 = home_dir_list[0] + "/MORB_Output_Files/fort.66_files/" + "fort.66."+str(thing)+"_morb"
            shutil.move(theoutputfile66, outputtodir66)
        else:
            print "fort.66." + str(thing) + " not found!"
            pass
        if "fort.58" in os.listdir(home_dir_list[0]):
            print "\n" + "fort.58 found!" + "\n"
            theoutputfile58 = home_dir_list[0] + "/" + "fort.58"
            outputtodir58 = home_dir_list[0] + "/MORB_Output_Files/fort.58_files/" + "fort.58."+str(thing)+"_morb"
            shutil.move(theoutputfile58, outputtodir58)
        else:
            print "fort.58." + str(thing) + " not found!"
            pass
        if "fort.59" in os.listdir(home_dir_list[0]):
                print "\n" + "fort.59 found!" + "\n"
                theoutputfile59 = home_dir_list[0] + "/" + "fort.59"
                outputtodir59 = home_dir_list[0] + "/MORB_Output_Files/fort.59_files/" + "fort.59."+str(thing)+"_morb"
                shutil.move(theoutputfile59, outputtodir59)
        else:
            print "fort.59." + str(thing) + " not found!"
            pass
        print "LOOP FINISHED FOR " + str(thing)
        time.sleep(2)
        #except Exception:
           # traceback.print_exc()
           # print "\n"
           # print "Calculation failure for " + str(thing) + ".  Moving on..."
           # print "\n"
    else:
        print "\n"
        print "Done with MORB HeFESTo calculations.  Exiting script..." + "\n\n\n\n"
        print "___________________________________________________________"
        print "\n"