source: anuga_work/production/dampier_2006/project.py @ 4045

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

updates to pt hedland script (new data provided) and sydney slide scenario

File size: 12.6 KB
Line 
1"""Common filenames and locations for topographic data, meshes and outputs.
2"""
3
4import sys
5from os import sep, environ, getenv, getcwd
6from os.path import expanduser, basename
7
8from anuga.coordinate_transforms.redfearn import\
9     degminsec2decimal_degrees,\
10     convert_from_latlon_to_utm
11
12from time import localtime, strftime, gmtime, ctime
13from anuga.geospatial_data.geospatial_data import *
14from anuga.utilities.polygon import read_polygon, plot_polygons, polygon_area
15from anuga.utilities.system_tools import get_user_name
16
17# file and system info
18#---------------------------------
19codename = 'project.py'
20
21home = getenv('INUNDATIONHOME') #Sandpit's parent dir   
22user = get_user_name()
23
24# INUNDATIONHOME is the inundation directory, not the data directory.
25home += sep +'data'
26#----------------------------------
27# Location and naming of scenario data
28#----------------------------------
29state = 'western_australia'
30scenario_name = 'dampier_tsunami'
31scenario_datas_name = 'dampier_tsunami_scenario_2006'  #name of the directory where the data is stored
32#scenario_datas_name = 'karratha_tsunami_scenario_2005' # Tmp location
33
34#mesh_name = 'elevation50m'
35boundaries_name = 'dampier'
36boundaries_source = 'mag_9_corrected'
37#boundaries_source = 'test'
38
39tide = 2.4
40#tide = 0.0
41
42# topography file names
43onshore_name = 'dli_no_islands'
44coast_name = 'DTED_05_Contour'
45islands_name = 'dted_islands'
46offshore_name = 'XY100003902'
47offshore_name1 = 'XY100003903'
48offshore_name2 = 'XY100003951'
49offshore_name3 = 'XY100006321'
50offshore_name4 = 'XY100011756'
51offshore_name5 = 'XY100014243'
52offshore_name6 = 'XY100014244'
53offshore_name7 = 'XY100021081'
54offshore_name8 = 'XY100021082'
55offshore_name9 = 'XY100021083'
56offshore_name10 = 'XY100021085'
57offshore_name11 = 'XY100021086'
58offshore_name12 = 'XY100026309'
59offshore_name13 = 'XY100026338'
60offshore_name14 = 'XYDM83'
61
62offshore_old = 'elevation50m'
63
64combined_name ='dampier_combined_elevation'
65combined_final_name ='dampier_combined_elevation_final'
66
67#gauge_name = 'dampier_gauges.csv'
68gauge_name = 'dampier_gauges_up2.csv' 
69
70#Derive subdirectories and filenames
71
72meshes_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'meshes'+sep
73topographies_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'topographies'+sep
74gauges_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'gauges'+sep
75polygons_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'polygons'+sep
76boundaries_in_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'boundaries'+sep+'urs'+sep+boundaries_source+sep
77#outputdir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'output'+sep
78tide_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'tide_data'+sep
79
80time = strftime('%Y%m%d_%H%M%S',localtime()) #gets time for new dir
81gtime = strftime('%Y%m%d_%H%M%S',gmtime()) #gets time for new dir
82#cctime = strftime('%Y%m%d_%H%M%S',ctime()) #gets time for new dir
83build_time = time+'_build'
84run_time = time+'_run'
85
86print 'gtime: ', gtime
87output_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'outputs'+sep
88output_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'outputs'+sep
89output_build_time_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'outputs'+sep+build_time+sep
90output_run_time_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'outputs'+sep+run_time+sep
91topographies_time_dir = topographies_dir+build_time+sep
92boundaries_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'boundaries'+sep
93boundaries_time_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'boundaries'+sep+build_time+sep
94meshes_time_dir = meshes_dir+build_time+sep
95
96#ideas
97#boundaries_time_dir = boundaries_in_dir+'urs'+sep+boundaries_source+sep
98
99gauge_dir = home+sep+state+sep+scenario_datas_name+sep+'anuga'+sep+'gauges'+sep
100gauge_filename = gauge_dir + gauge_name
101
102gauges_dir_name = gauges_dir + gauge_name
103
104onshore_dir_name = topographies_dir + onshore_name
105coast_dir_name = topographies_dir + coast_name
106islands_dir_name = topographies_dir + islands_name
107offshore_dir_name = topographies_dir + offshore_name
108offshore_dir_name1 = topographies_dir + offshore_name1
109offshore_dir_name2 = topographies_dir + offshore_name2
110offshore_dir_name3 = topographies_dir + offshore_name3
111offshore_dir_name4 = topographies_dir + offshore_name4
112offshore_dir_name5 = topographies_dir + offshore_name5
113offshore_dir_name6 = topographies_dir + offshore_name6
114offshore_dir_name7 = topographies_dir + offshore_name7
115offshore_dir_name8 = topographies_dir + offshore_name8
116offshore_dir_name9 = topographies_dir + offshore_name9
117offshore_dir_name10 = topographies_dir + offshore_name10
118offshore_dir_name11 = topographies_dir + offshore_name11
119offshore_dir_name12 = topographies_dir + offshore_name12
120offshore_dir_name13 = topographies_dir + offshore_name13
121offshore_dir_name14 = topographies_dir + offshore_name14
122
123offshore_dir_name_old = topographies_dir + offshore_old
124
125
126
127#output dir
128combined_dir_name = topographies_dir + combined_name
129combined_time_dir_name = topographies_time_dir + combined_name
130combined_time_dir_final_name = topographies_time_dir + combined_final_name
131
132
133meshes_dir_name = meshes_dir + scenario_name
134meshes_time_dir_name = meshes_time_dir + scenario_name
135#output_build_time_dir_name = output_build_time_dir + scenario_name  #Used by post processing
136output_run_time_dir_name = output_run_time_dir + scenario_name  #Used by post processing
137boundaries_in_dir_name = boundaries_in_dir + boundaries_name
138boundaries_time_dir_name = boundaries_time_dir + boundaries_name  #Used by post processing
139boundaries_dir_name = boundaries_dir + boundaries_name
140
141
142
143# Regions
144
145refzone = 50 
146south = degminsec2decimal_degrees(-20,55,0)
147north = degminsec2decimal_degrees(-20,15,0)
148#north = degminsec2decimal_degrees(-19,15,0)
149west = degminsec2decimal_degrees(116,17,0)
150east = degminsec2decimal_degrees(117,10,0)
151
152#only used to clip boundary condition
153#north_boundary = north + 0.02
154#south_boundary = south - 0.02
155#west_boundary = west - 0.02
156#east_boundary = east + 0.02
157
158south_boundary = degminsec2decimal_degrees(-21,0,0)
159#north_boundary = degminsec2decimal_degrees(-19,00,0)
160north_boundary = degminsec2decimal_degrees(-20,10,0)
161#west_boundary = degminsec2decimal_degrees(116,0,0)
162#east_boundary = degminsec2decimal_degrees(118,00,0)
163west_boundary = degminsec2decimal_degrees(116,10,0)
164east_boundary = degminsec2decimal_degrees(117,15,0)
165
166
167p0 = [south, degminsec2decimal_degrees(116,32,0)]
168p1 = [south, west]
169p2 = [degminsec2decimal_degrees(-20,23,0), west]
170p3 = [north, degminsec2decimal_degrees(116,45,0)]
171p4 = [north, degminsec2decimal_degrees(117,0,0)]
172p5 = [p2[0], degminsec2decimal_degrees(117,8,0)]
173p6 = [degminsec2decimal_degrees(-20,30,0), east]
174p7 = [degminsec2decimal_degrees(-20,38,0), east]
175p8 = [south, east]
176
177bounding_polygon, zone =\
178                  convert_from_latlon_to_utm([p0, p1, p2, p3, p4, p5, p6, p7, p8])
179#bounding_polygon, zone =\
180#                  convert_from_latlon_to_utm([p1, p2, p3, p4, p5, p6, p7])
181refzone = zone
182from anuga.utilities.polygon import read_polygon, plot_polygons, polygon_area, is_inside_polygon
183print 'poly area', polygon_area(bounding_polygon)/1000000.0
184
185#Interior regions
186
187# CIPMA point of interest
188cipma_latitude = -20.588456
189cipma_longitude = 116.771527
190
191
192k0 = [cipma_latitude-0.02, cipma_longitude-0.02]
193k1 = [cipma_latitude-0.02, cipma_longitude+0.02]
194k2 = [cipma_latitude+0.02, cipma_longitude+0.02]
195k3 = [cipma_latitude+0.02, cipma_longitude-0.02]
196
197cipma_polygon, zone = convert_from_latlon_to_utm([k0, k1, k2, k3])
198assert zone == refzone
199
200e_min_area = 474000
201e_max_area = 480000
202n_min_area = 7719000
203n_max_area = 7725000
204
205poly_facility = read_polygon(polygons_dir+'facility.csv')
206
207poly_pipeline = read_polygon(polygons_dir+'pipeline2.csv')
208
209poly_interior = read_polygon(polygons_dir+'interior.csv')
210
211poly_coast = read_polygon(polygons_dir+'coast_final.csv')
212
213clip_poly_e = read_polygon(polygons_dir+'gap_e.csv')
214
215clip_poly_nw = read_polygon(polygons_dir+'gap_nw.csv')
216
217clip_poly_mid_w = read_polygon(polygons_dir+'gap_mid_w.cvs')
218
219clip_poly_mid_e = read_polygon(polygons_dir+'gap_mid_e.cvs')
220
221plot_polygons([bounding_polygon,poly_facility,poly_pipeline,poly_interior,poly_coast],'polys',verbose=True)
222#Interior regions
223karratha_south = degminsec2decimal_degrees(-20,44,0)
224karratha_north = degminsec2decimal_degrees(-20,42,0)
225karratha_west = degminsec2decimal_degrees(116,48,0)
226karratha_east = degminsec2decimal_degrees(116,53,30)
227
228k0 = [karratha_south, karratha_west]
229k1 = [karratha_south, karratha_east]
230k2 = [karratha_north, karratha_east]
231k3 = [karratha_north, karratha_west]   
232
233karratha_polygon, zone = convert_from_latlon_to_utm([k0, k1, k2, k3])
234assert zone == refzone
235
236
237#Interior regions
238dampier_south = degminsec2decimal_degrees(-20,40,0)
239dampier_north = degminsec2decimal_degrees(-20,38,10)
240dampier_west = degminsec2decimal_degrees(116,43,0)
241dampier_east = degminsec2decimal_degrees(116,45,0)
242
243d0 = [dampier_south, dampier_west]
244d1 = [dampier_south, dampier_east]
245d2 = [dampier_north, dampier_east]
246d3 = [dampier_north, dampier_west]   
247
248dampier_polygon, zone = convert_from_latlon_to_utm([d0, d1, d2, d3])
249assert zone == refzone
250
251
252#Interior regions
253refinery_south = degminsec2decimal_degrees(-20,37,50)
254refinery_north = degminsec2decimal_degrees(-20,36,0)
255refinery_west = degminsec2decimal_degrees(116,44,0)
256refinery_east = degminsec2decimal_degrees(116,46,10)
257
258d0 = [refinery_south, refinery_west]
259d1 = [refinery_south, refinery_east]
260d2 = [refinery_north, refinery_east]
261d3 = [refinery_north, refinery_west]   
262
263refinery_polygon, zone = convert_from_latlon_to_utm([d0, d1, d2, d3])
264assert zone == refzone
265
266
267#Interior region around 468899, 7715177:
268#lat (-20, 39, 44.93753), lon (116, 42, 5.09106)
269
270point_south = degminsec2decimal_degrees(-20,39,46)
271point_north = degminsec2decimal_degrees(-20,39,42)
272point_west = degminsec2decimal_degrees(116,42,0)
273point_east = degminsec2decimal_degrees(116,42,10)
274
275d0 = [point_south, point_west]
276d1 = [point_south, point_east]
277d2 = [point_north, point_east]
278d3 = [point_north, point_west]   
279
280point_polygon, zone = convert_from_latlon_to_utm([d0, d1, d2, d3])
281assert zone == refzone
282
283
284#Neils areas around interesting points
285neil1_point1 = [degminsec2decimal_degrees(-20,35,34),
286                degminsec2decimal_degrees(116,45,18)]
287neil1_point2 = [degminsec2decimal_degrees(-20,36,15),
288                degminsec2decimal_degrees(116,46,18)]
289neil1_point3 = [degminsec2decimal_degrees(-20,35,9),
290                degminsec2decimal_degrees(116,47,17)]
291neil1_point4 = [degminsec2decimal_degrees(-20,34,26),
292                degminsec2decimal_degrees(116,46,17)]
293
294neil1_polygon, zone = convert_from_latlon_to_utm([neil1_point1,
295                                                  neil1_point2,
296                                                  neil1_point3,
297                                                  neil1_point4])
298assert zone == refzone
299
300
301
302
303neil2_point1 = [degminsec2decimal_degrees(-20,39,36),
304                degminsec2decimal_degrees(116,41,33)]
305neil2_point2 = [degminsec2decimal_degrees(-20,40,10),
306                degminsec2decimal_degrees(116,42,13)]
307neil2_point3 = [degminsec2decimal_degrees(-20,38,39),
308                degminsec2decimal_degrees(116,43,49)]
309neil2_point4 = [degminsec2decimal_degrees(-20,38,5),
310                degminsec2decimal_degrees(116,43,9)]
311
312neil2_polygon, zone = convert_from_latlon_to_utm([neil2_point1,
313                                                  neil2_point2,
314                                                  neil2_point3,
315                                                  neil2_point4])
316assert zone == refzone
317
318
319
320
321
322#Withnell bay
323wb_point1 = [degminsec2decimal_degrees(-20,35,34),
324                degminsec2decimal_degrees(116,45,18)]
325wb_point2 = [degminsec2decimal_degrees(-20,36,15),
326                degminsec2decimal_degrees(116,46,18)]
327wb_point3 = [degminsec2decimal_degrees(-20,35,9),
328                degminsec2decimal_degrees(116,47,17)]
329wb_point4 = [degminsec2decimal_degrees(-20,34,26),
330                degminsec2decimal_degrees(116,46,17)]
331
332wb_polygon, zone = convert_from_latlon_to_utm([wb_point1, wb_point2,
333                                               wb_point3, wb_point4])
334assert zone == refzone
335
336
337
338
339
340#Larger Withnell bay
341lwb_point1 = [degminsec2decimal_degrees(-20,35,59),
342                degminsec2decimal_degrees(116,42,00)]
343lwb_point2 = [degminsec2decimal_degrees(-20,36,50),
344                degminsec2decimal_degrees(116,46,50)]
345lwb_point3 = [degminsec2decimal_degrees(-20,34,00),
346                degminsec2decimal_degrees(116,47,39)]
347lwb_point4 = [degminsec2decimal_degrees(-20,33,00),
348                degminsec2decimal_degrees(116,42,50)]
349
350lwb_polygon, zone = convert_from_latlon_to_utm([lwb_point1, lwb_point2,
351                                                lwb_point3, lwb_point4])
352                                                     
353assert zone == refzone
354
355
356
357
Note: See TracBrowser for help on using the repository browser.