make_figs_for_paper.py.html clawcode2html   
 Source file:   make_figs_for_paper.py
 Directory:   /Users/rjl/rjlsvn/papers/pathconwb10/code
 Converted:   Mon Jan 18 2010 at 10:11:18
 This documentation file will not reflect any later changes in the source file.

 

#
# Python script to run xclaw with several different parameter choices.
#
# This script uses setrun and setplot hardwired
# for example in paper.


from setrun_for_paper import setrun
from setplot_for_paper import setplot

dirnameroot = '_figs_for_paper'


import os, shutil

# importing these modules requires $CLAW/python in PYTHONPATH:
from pyclaw import data, controller
from pyclaw.plotters import plotpages
from pyclaw.plotters.data import ClawPlotData


#-------------
def runjobs():
#-------------
    clawjob = controller.Controller()
    clawjob.xdir = os.getcwd()    # execute xclaw command from current dir.
    
    print "-----------------------------------------------------------------"

    rundata = setrun() 
    clawdata = rundata.clawdata
    probdata = rundata.probdata
    rundata.write()  # creates *.data files

    for mthsrc in [1,2,3,4]:
        # directory for output of fort.*, *.png and *.html files:
        outdir = dirnameroot + '.mthsrc%s' % mthsrc
        if not os.path.isdir(outdir):
            os.mkdir(outdir)

        run_fortran = True   # set to false if computations already done.
        if run_fortran:

            # make local copies of data files to modify for each run:
            os.chdir(outdir)
            probdata.mthsrc = mthsrc
            rundata.write()
            os.chdir('..')

            # run fortran code:
            clawjob.rundir = outdir      # use data files from outdir
            clawjob.outdir = outdir      # write fort files to outdir
            clawjob.runmake = True
            returncode = clawjob.runxclaw()
            if returncode != 0:
                print '*** returncode = ', returncode, '   aborting'
                return
            print 'Done executing with mthsrc = %i' % mthsrc
            print 'Output is in ', outdir


        # create plots:

        plotdata = ClawPlotData()
        plotdata.outdir = outdir
        plotdata.plotdir = outdir       # plots will also go in this directory
        #print 'Now plotting... check plotmsg.txt for errors'
        #plotdata.msgfile = 'plotmsg.txt'
        plotdata.setplot = setplot      # defined below

        # make all plots and html pages:
        plotpages.plotclaw_driver(plotdata, verbose=False)

        

if __name__=='__main__':
    runjobs()