source: anuga_work/production/hobart_2006/make_report.py @ 5563

Last change on this file since 5563 was 4228, checked in by sexton, 17 years ago

(1) add building damage scripts for the study areas and update project.py (2) update report generation scripts (3) update Gantt chart (4) report updates to reflect URS input

File size: 8.7 KB
Line 
1"""
2Generate report for production run
3
4Inputs:
5
6report_title:    title to be included in tex file
7production dirs: dictionary of production directories with a
8                 association to that simulation run, eg high tide,
9                 low tide and MSL.
10                   
11
12Outputs:
13
14* Report generated to scenario_report.tex where the scenario relates
15the name of the production directory this script is being run from.
16* figures used for report stored in the report_figure directory
17NOTE, this directory will need to be committed, as well as
18the latex files.
19
20The report structure is
21
22* Executive Summary
23* Introduction
24* Modelling Methodology
25* Tsunami scenario
26* Data sources
27* Inundation model
28* Inundation modelling results
29* Impact modelling
30* Summary
31* Acknowledgements
32* References
33* Appendix: Metadata
34* Appendix: Time series outputs
35
36Other files included in document which require manual intervention:
37
38* an abstract must be written in abstract.tex
39* an introduction must be written in introduction.tex; a basic outline and
40  some of the core inputs are already in place
41* the tsunami-genic event should be discussed in tsunami_scenario.tex
42* a discussion of the ANUGA model is required in anuga.tex
43* a computational_setup.tex file needs to be written for the particular scenario
44* the interpretation of the results needs to be written to interpretation.tex
45* maximum inundation map names need to be included in HAT_map and LAT_map etc.
46* damage modelling map names need to be included in HAT_damage and LAT_damage etc.
47* a summary must be written into summary.tex
48* metadata for the scenario data to be included in metadata.tex
49
50May, June 2006                   
51"""
52
53from os import getcwd, sep, altsep, mkdir, access, F_OK
54import project
55from anuga.abstract_2d_finite_volumes.util import sww2timeseries, get_gauges_from_file
56
57# Derive scenario name
58p = getcwd().split(sep)
59scenario = p[-1] # Last element of absolute CWD path
60scenario_name = scenario.split('_2006')[0] # Strip any text past `_2006`
61test = scenario_name.split('_')
62if len(test) <> 1:
63    scenario_name = '%s %s' %(test[0], test[1])
64
65# Create report directory
66reportdir = getcwd()+sep+'report'+sep
67if access(reportdir,F_OK) == 0:
68    mkdir (reportdir)
69   
70# User defined inputs
71report_title = 'Tsunami impact modelling for Tasmania: %s' %scenario_name.title()
72
73# WA DLI data
74production_dirs = {#'20061008_234702': 'Mw 8-7', # 2500 res
75                   #'20061004_230438': 'Mw 8-7'} # 7500 res
76                   '20061022_224422': 'Mw 8-7'} # refined mesh
77                   #'20061006_062319': 'Mw 8-5'} # 2500 res
78
79max_maps = {'Mw 8-7': 'mw87_map',
80            'Mw 8-5': 'mw85_map'}
81
82gauge_map = 'MRT_gauges.jpg'
83#gauge_map = 'hobart_gauge.jpg'
84
85# Create sections and graphs for each designated production directory
86latex_output = []
87swwfiles = {}
88for label_id in production_dirs.keys():
89   
90    file_loc = project.outputdir + label_id + sep
91    swwfile = file_loc + project.basename + '.sww'
92    swwfiles[swwfile] = label_id
93
94texname, elev_output = sww2timeseries(swwfiles,
95                                      project.gauge_filename,
96                                      production_dirs,
97                                      report = True,
98                                      reportname = 'latexoutput_231106',
99                                      #reportname = 'latexoutput',
100                                      plot_quantity = ['stage', 'speed'],
101                                      generate_fig = True,
102                                      #surface = True,
103                                      time_min = None,
104                                      time_max = None,
105                                      title_on = False,
106                                      verbose = True)
107
108latex_output.append(texname)
109
110# Start report generation
111# Future: generate_report(reportdir, scenario, report_title,
112# project.gauge_filename, max_maps, damage_maps, production_dirs, latex_output)
113report_name = reportdir + scenario + '_report_mark.tex'
114fid = open(report_name, 'w')
115
116s = """
117% This is based on an automatically generated file (by make_report.py).
118%
119% Manual parts are:
120% * an abstract must be written in abstract.tex
121% * an introduction must be written in introduction.tex; a basic outline and
122%   some of the core inputs are already in place
123% * outline of the modelling methodology provided in modelling_methodology.tex
124% * the tsunami-genic event should be discussed in tsunami_scenario.tex
125% * an computational_setup.tex file needs to be written for the particular scenario
126% * the interpretation of the results needs to be written to interpretation.tex
127% * maximum inundation maps need to be included in HAT_map.tex and LAT_map.tex etc.
128% * damage modelling maps need to be included in HAT_damage and LAT_damage etc.
129% * a summary must be written into summary.tex
130% * metadata for the scenario data to be included in metadata.tex
131
132\documentclass{article}
133
134\usepackage{ae} % or {zefonts}
135\usepackage[T1]{fontenc}
136\usepackage[ansinew]{inputenc}
137\usepackage{amsmath}
138\usepackage{amssymb}
139\usepackage{graphicx}
140\usepackage{color}
141\usepackage[colorlinks]{hyperref}
142\usepackage{lscape} %landcape pages support
143\usepackage{setspace}
144\usepackage{rotating}
145\usepackage{draftcopy}
146\include{appendix}
147\setstretch{1.25}
148\\topmargin 0pt
149\oddsidemargin 0pt
150\evensidemargin 0pt
151\marginparwidth 0.5pt
152\\textwidth \paperwidth
153\\advance\\textwidth -2in
154
155"""
156fid.write(s)
157
158#s = '\\title{%s} \n' %report_title
159#fid.write(s)
160
161s = """
162\date{\\today}
163%\\author{Geoscience Australia}
164
165\\begin{document}
166\\title{
167\\begin{figure}[hbt]
168  \centerline{ \includegraphics[scale=0.4]{../report_figures/GAlogo.jpg}}
169\end{figure}
170"""
171fid.write(s)
172s = '%s} '%report_title
173fid.write(s)
174s = """
175  \maketitle
176
177    \section{Executive Summary}
178    \label{sec:execsum}
179  \input{execsum}
180
181  \\tableofcontents
182 
183  \section{Introduction}
184    \label{sec:intro}
185  \input{introduction}
186
187   \section{Modelling methodology}
188    \label{sec:methodology}
189    \input{modelling_methodology}
190   
191  %\section{Tsunami scenarios}
192  %  \label{sec:tsunamiscenario}
193  %  \input{tsunami_scenario}
194
195  \section{Data sources}
196    \label{sec:data}
197    \input{data}
198   
199   \section{Inundation model}
200    \label{sec:anuga}
201    \input{anuga}
202    \input{computational_setup}
203       
204  \section{Inundation modelling results}
205     \label{sec:results}
206         
207"""
208fid.write(s)
209
210# Generate latex output for location points
211s = '\\begin{table} \\begin{center} \n'
212fid.write(s)
213s = '\caption{Defined point locations for %s study area.}' %scenario_name
214fid.write(s)
215s = """
216\label{table:locations}
217\\begin{tabular}{|l|l|l|l|}\hline
218\\bf{Point Name} & \\bf{Easting} & \\bf{Northing} & \\bf{Elevation}\\\\ \hline
219"""
220fid.write(s)
221
222gauges, locations, elevation = get_gauges_from_file(project.gauge_filename)
223
224for name, gauges, elev in zip(locations, gauges, elevation):
225    east = gauges[0]
226    north = gauges[1]
227    s = '%s & %.2f & %.2f & %.2f \\\\ \hline \n' %(name.replace('_',' '), east, north, elev)
228    fid.write(s)
229
230s = '\\end{tabular} \n  \end{center} \n \end{table} \n \n'
231fid.write(s)
232
233s = '\\begin{figure}[hbt] \n \centerline{ \includegraphics[width=\paperwidth]{../report_figures/%s}}' %gauge_map
234fid.write(s)
235
236= """
237\caption{Point locations used for Hobart study.} 
238\label{fig:points}
239\end{figure}
240"""
241fid.write(s)
242   
243s = '\input{interpretation} \n'
244fid.write(s)
245
246# Assign titles to each production section
247# Must specify one name per section
248for i, name in enumerate(production_dirs.keys()):
249#
250#    s = '\subsection{%s} \n \n' %production_dirs[name]     
251#    fid.write(s)
252
253    s = '\input{%s} \n \clearpage \n \n' %max_maps[production_dirs[name]]
254    fid.write(s)
255
256# Closing
257
258s = """
259   \section{Impact modelling}
260    \label{sec:impact}
261     \input{damage}
262"""
263#fid.write(s)
264
265#for i, name in enumerate(production_dirs.keys()):
266
267#    s = '\input{%s} \n \clearpage \n \n' %damage_maps[production_dirs[name]]
268#    fid.write(s)
269
270s = """
271  % \section{Impact due to data accuracy}
272  %   \input{discussion}
273  %   \label{sec:issues}
274
275     \section{Summary}
276     \label{sec:summary}
277     \input{summary}
278
279     \section{Acknowledgements}
280     \input{acknowledgements}
281     
282    \input{references}
283
284    \\appendix
285   
286   \section{Metadata}
287     \label{sec:metadata}
288     \input{metadata}
289
290\clearpage
291
292   \section{Time series}
293     \label{sec:timeseries}
294"""
295fid.write(s)
296
297s = '\input{%s} \n \clearpage \n \n' %latex_output[0]
298fid.write(s)
299
300s="""
301
302%\pagebreak
303
304 %  \section{Damage modelling inputs}
305 %    \label{sec:damageinputs}
306 %    \input{damage_inputs}
307
308\end{document}
309"""
310fid.write(s)
Note: See TracBrowser for help on using the repository browser.