source: anuga_work/development/Hinwood_2008/validation_graphs.py @ 5709

Last change on this file since 5709 was 5709, checked in by duncan, 15 years ago

file name change

File size: 5.4 KB
Line 
1"""
2
3Have the script here that produces the data and graphs for the Anuga paper.
4
5
6Duncan Gray, GA - 2007
7
8
9
10"""
11
12import shutil
13from os import path
14
15from run_dam import main, paras2outputdir_tag
16from calc_rmsd import auto_plot_test_rmsd, auto_rrms
17from plot import plot_exp_sim_comparision, auto_plot_compare_csv_subfigures
18
19#
20# INPUT PARAMETERS
21#
22
23END_TAG = '_I'
24#END_TAG = '_Z'
25#END_TAG = '_I'
26
27WIDTH = 0.1
28
29# run_type 1 is the standard
30RUN_TYPE = 1
31MAXIMUM_TRIANGLE_AREA=0.0001
32YIELDSTEP = 0.01
33FRICTION = 0.0
34USE_LIMITS = False
35OUTPUTDIR_NAME = ""
36#OUTPUTDIR_NAME = "_no_velocity"
37   
38def data():
39    """
40    Produce the data for the Hinwood part of the anuga paper.
41    eg run the scenario.
42    """
43    from scenarios import scenarios
44
45
46    #scenarios = [scenarios[0]]
47    for run_data in scenarios:
48        pro_instance = main( run_data['scenario_id'] + '_boundary.tsm',
49                             run_data,
50                             maximum_triangle_area=MAXIMUM_TRIANGLE_AREA,
51                             yieldstep=YIELDSTEP,
52                             width=WIDTH,
53                             run_type=RUN_TYPE,
54                             outputdir_name=run_data['scenario_id'],
55                             use_limits=USE_LIMITS,
56                             friction=FRICTION,
57                             end_tag=END_TAG)
58
59   
60def graph_RMSD():
61    """
62    Produce the graphs for the Hinwood part of the anuga paper.
63    """
64    from scenarios import scenarios, to_publish_indexes
65
66   
67    # Workout where these plots are
68    outputdir_tag = paras2outputdir_tag(mta=MAXIMUM_TRIANGLE_AREA,
69                                        yieldstep=YIELDSTEP,
70                                        width=WIDTH,
71                                        use_limits=USE_LIMITS,
72                                        friction=FRICTION,
73                                        end_tag=END_TAG,
74                                        outputdir_name=OUTPUTDIR_NAME)
75    paper_dir = path.join('..','..','publications','anuga_2007')
76   
77    # Calculate the RMSD's
78    auto_rrms(outputdir_tag, scenarios, "stage", y_location_tag=':0.0')
79           
80    # All of the RMSD's , one per TEST
81   
82    file_names = auto_plot_test_rmsd(scenarios, outputdir_tag,
83                                     to_publish_indexes,
84                                     #add_run_info=True)
85                                     add_run_info=False)
86 
87    # Move the files to the dir where the paper is being put together
88    for plot_in in file_names:
89        head, tail = path.split(plot_in)
90        dest = path.join(paper_dir, tail)
91        #print "plot_in", plot_in
92        #print "dest", dest
93        shutil.copyfile(plot_in,dest)
94   
95
96   
97def graph_stage_plots():
98    """
99    Produce the graphs for the Hinwood part of the anuga paper.
100    """
101    from scenarios import scenarios, to_publish_indexes
102
103    # Workout where these plots are
104    outputdir_tag = paras2outputdir_tag(mta=MAXIMUM_TRIANGLE_AREA,
105                                        yieldstep=YIELDSTEP,
106                                        width=WIDTH,
107                                        use_limits=USE_LIMITS,
108                                        friction=FRICTION,
109                                        end_tag=END_TAG,
110                                        outputdir_name=OUTPUTDIR_NAME)
111    paper_dir = path.join('..','..','publications','anuga_2007')
112   
113    # the graphs I want
114    # stage comparison plots for T1R5, T2R7, T3R29, T4R32.
115   
116    plot_files = plot_exp_sim_comparision(scenarios, outputdir_tag,
117                             y_location_tag=':0.0')
118    for key in to_publish_indexes.iterkeys():
119        for plot_i in to_publish_indexes[key]:
120            plot_file_path_name = plot_files[key][plot_i]
121            head, tail = path.split(plot_file_path_name)
122            dest = path.join(paper_dir, tail)
123            shutil.copyfile(plot_file_path_name,dest)
124 
125def graph_4_stage_plots(): 
126    from scenarios import scenarios, to_publish_indexes
127   
128    #scenarios = scenarios[:2]
129    outputdir_tag = paras2outputdir_tag(mta=MAXIMUM_TRIANGLE_AREA,
130                                        yieldstep=YIELDSTEP,
131                                        width=WIDTH,
132                                        use_limits=USE_LIMITS,
133                                        friction=FRICTION,
134                                        end_tag=END_TAG,
135                                        outputdir_name=OUTPUTDIR_NAME)
136    paper_dir = path.join('..','..','publications','anuga_2007')         
137       
138    save_as_list = auto_plot_compare_csv_subfigures(scenarios, outputdir_tag,
139                                                    to_publish_indexes,
140                                                    add_run_info=False,
141                                                    #add_run_info=True,
142                                                    is_interactive=False)
143    for plot_in in save_as_list:
144        head, tail = path.split(plot_in)
145        dest = path.join(paper_dir, tail)
146        #print "plot_in", plot_in
147        #print "dest", dest
148        shutil.copyfile(plot_in,dest)
149
150#-------------------------------------------------------------
151if __name__ == "__main__":
152    # Edit the top of this file to change the general input parameters
153   
154    data()
155
156    # Produce the graphs
157    graph_RMSD()
158    graph_4_stage_plots()
Note: See TracBrowser for help on using the repository browser.