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

Last change on this file since 4219 was 4212, checked in by nick, 18 years ago

update to dampier

File size: 14.2 KB
Line 
1"""Common filenames and locations for topographic data, meshes and outputs.
2"""
3
4from os import sep, environ, getenv, getcwd
5from os.path import expanduser
6import sys
7from time import localtime, strftime, gmtime
8from anuga.utilities.polygon import read_polygon, plot_polygons, polygon_area, is_inside_polygon, number_mesh_triangles
9from anuga.coordinate_transforms.redfearn import degminsec2decimal_degrees, convert_from_latlon_to_utm
10from anuga.utilities.system_tools import get_user_name
11
12# file and system info
13#---------------------------------
14codename = 'project.py'
15
16home = getenv('INUNDATIONHOME') #Sandpit's parent dir   
17user = get_user_name()
18
19# INUNDATIONHOME is the inundation directory, not the data directory.
20home += sep +'data'
21
22#time stuff
23time = strftime('%Y%m%d_%H%M%S',localtime()) #gets time for new dir
24gtime = strftime('%Y%m%d_%H%M%S',gmtime()) #gets time for new dir
25build_time = time+'_build'
26run_time = time+'_run'
27print 'gtime: ', gtime
28
29tide = 2.4
30
31#Making assumptions about the location of scenario data
32state = 'western_australia'
33scenario_name = 'dampier'
34scenario = 'dampier_tsunami_scenario_2006'
35
36# onshore data provided by WA DLI
37onshore_name = 'DLI_DTED_raster_clipped' # original
38
39# AHO + DPI data + colin French coastline
40coast_name = 'coastline_edited_w_DEM'
41offshore_name = 'clipped_bathy'
42offshore1_name = 'elev_501'
43offshore2_name = 'inferrec_e'
44
45#final topo name
46combined_name ='dampier_combined_elevation'
47combined_smaller_name = 'dampier_combined_elevation_smaller'
48
49topographies_in_dir = home+sep+state+sep+scenario+sep+'elevation_final'+sep+'070112'+sep+'points'+sep
50topographies_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'topographies'+sep
51topographies_time_dir = topographies_dir+build_time+sep
52
53# input topo file location
54onshore_in_dir_name = topographies_in_dir + onshore_name
55coast_in_dir_name = topographies_in_dir + coast_name
56offshore_in_dir_name = topographies_in_dir + offshore_name
57offshore1_in_dir_name = topographies_in_dir + offshore1_name
58offshore2_in_dir_name = topographies_in_dir + offshore2_name
59
60onshore_dir_name = topographies_dir + onshore_name
61coast_dir_name = topographies_dir + coast_name
62offshore_dir_name = topographies_dir + offshore_name
63offshore1_dir_name = topographies_dir + offshore1_name
64offshore2_dir_name = topographies_dir + offshore2_name
65
66#final topo files
67combined_dir_name = topographies_dir + combined_name
68combined_time_dir_name = topographies_time_dir + combined_name
69combined_smaller_name_dir = topographies_dir + combined_smaller_name
70#combined_time_dir_final_name = topographies_time_dir + combined_final_name
71
72meshes_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'meshes'+sep
73meshes_dir_name = meshes_dir + scenario_name
74
75polygons_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'polygons'+sep+'2007polys'+sep
76tide_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'tide_data'+sep
77
78boundaries_source = ''
79boundaries_name = 'o'
80#boundaries locations
81boundaries_in_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'boundaries'+sep+'urs'+sep+'1_10000'+sep
82boundaries_in_dir_name = boundaries_in_dir + boundaries_name
83boundaries_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'boundaries'+sep
84boundaries_dir_name = boundaries_dir + boundaries_name
85#boundaries_time_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'boundaries'+sep+build_time+sep
86#boundaries_time_dir_name = boundaries_time_dir + boundaries_name  #Used by post processing
87
88#output locations
89output_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'outputs'+sep
90output_build_time_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'outputs'+sep+build_time+sep
91output_run_time_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'outputs'+sep+run_time+sep
92output_run_time_dir_name = output_run_time_dir + scenario_name  #Used by post processing
93
94#gauges
95gauge_name = 'dampier.csv'
96gauges_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'gauges'+sep
97gauges_dir_name = gauges_dir + gauge_name
98
99
100###############################
101# Domain definitions
102###############################
103
104refzone = 50 
105south_boundary = degminsec2decimal_degrees(-20,58,0)
106north_boundary = degminsec2decimal_degrees(-20,13,0)
107west_boundary = degminsec2decimal_degrees(116,15,0)
108east_boundary = degminsec2decimal_degrees(117,11,0)
109##
110##p0 = [south, degminsec2decimal_degrees(116,32,0)]
111##p1 = [south, west]
112##p2 = [degminsec2decimal_degrees(-20,23,0), west]
113##p3 = [north, degminsec2decimal_degrees(116,45,0)]
114##p4 = [north, degminsec2decimal_degrees(117,0,0)]
115##p5 = [p2[0], degminsec2decimal_degrees(117,8,0)]
116##p6 = [degminsec2decimal_degrees(-20,30,0), east]
117##p7 = [degminsec2decimal_degrees(-20,38,0), east]
118##p8 = [south, east]
119##
120##poly_all, zone = convert_from_latlon_to_utm([p0, p1, p2, p3, p4, p5, p6, p7, p8])
121##refzone = zone
122poly_all = read_polygon(polygons_dir+'extent.csv')
123print 'Area of bounding polygon', polygon_area(poly_all)/1000000.0
124
125#res_poly_all = 100000
126res_poly_all = 500000
127
128###############################
129# Interior region definitions
130###############################
131
132poly_region = read_polygon(polygons_dir+'region.csv')
133res_region = 50000
134
135poly_dampier = read_polygon(polygons_dir+'dampier_town.csv')
136#res_dampier = 500
137res_dampier = 5000
138
139poly_karratha = read_polygon(polygons_dir+'karrathav2.csv')
140res_karratha = 15000
141
142poly_karratha_town = read_polygon(polygons_dir+'karratha_townv2.csv')
143#res_karratha_town = 500
144res_karratha_town = 5000
145
146poly_facility = read_polygon(polygons_dir+'facility.csv')
147res_facility = 1000
148
149poly_delambre = read_polygon(polygons_dir+'delambre.csv')
150res_delambre = 5000
151
152poly_coast = read_polygon(polygons_dir+'coastpoly.csv')
153#res_coast = 1000
154res_coast = 10000
155
156poly_NWislands = read_polygon(polygons_dir+'nw_islands_area.csv')
157res_NWislands = 50000
158
159poly_island0 = read_polygon(polygons_dir+'island0.csv')
160res_island0 = res_poly_all
161
162poly_island1 = read_polygon(polygons_dir+'island1.csv')
163res_island0 = res_poly_all
164
165poly_island2 = read_polygon(polygons_dir+'island2.csv')
166res_island0 = res_poly_all
167
168poly_island3 = read_polygon(polygons_dir+'island3.csv')
169res_island0 = res_poly_all
170
171#res_islands = 5000
172res_islands = 15000
173
174poly_ref_nw4 = read_polygon(polygons_dir+'ref_nw4.csv')
175res_ref_nw4 = res_islands
176
177poly_island4 = read_polygon(polygons_dir+'island4.csv')
178res_island0 = res_poly_all
179
180poly_ref_nw5 = read_polygon(polygons_dir+'ref_nw5.csv')
181res_ref_nw5 = res_islands
182
183poly_island5 = read_polygon(polygons_dir+'island5.csv')
184res_island0 = res_poly_all
185
186poly_ref_nw6 = read_polygon(polygons_dir+'ref_nw6.csv')
187res_ref_nw6 = res_islands
188
189poly_island6 = read_polygon(polygons_dir+'island6.csv')
190res_island0 = res_poly_all
191
192poly_ref_nw7 = read_polygon(polygons_dir+'ref_nw7.csv')
193res_ref_nw7 = res_islands
194
195poly_island7 = read_polygon(polygons_dir+'island7.csv')
196res_island0 = res_poly_all
197
198poly_ref_nw8 = read_polygon(polygons_dir+'ref_nw8.csv')
199res_ref_nw8 = res_islands
200
201poly_island8 = read_polygon(polygons_dir+'island8.csv')
202res_island0 = res_poly_all
203
204
205##plot_polygons([poly_dampier,poly_karratha,poly_karratha_town,poly_delambre,
206##                poly_coast,poly_NWislands,poly_island0,poly_island1,poly_island2,
207##                poly_island3,poly_island4,poly_island5,poly_island6,
208##                poly_island7,poly_island8,poly_ref_nw4,poly_ref_nw5,
209##                poly_ref_nw6,poly_ref_nw7,poly_ref_nw8,poly_all],'poly_pic')
210
211interior_regions = [[poly_dampier,res_dampier], 
212                    [poly_karratha,res_karratha],[poly_karratha_town,res_karratha_town],
213                    [poly_delambre,res_delambre],[poly_coast,res_coast],
214                    [poly_facility,res_facility],
215                    #[poly_NWislands,res_NWislands],
216                    [poly_island0,res_island0],[poly_island1,res_island0],
217                    [poly_island2,res_island0],[poly_island3,res_island0],
218                    [poly_island4,res_island0],[poly_island5,res_island0],
219                    [poly_island6,res_island0],[poly_island7,res_island0],
220                    [poly_island8,res_island0],[poly_ref_nw4,res_ref_nw4],
221                    [poly_ref_nw5,res_ref_nw5],[poly_ref_nw6,res_ref_nw6],
222                    [poly_ref_nw7,res_ref_nw7],[poly_ref_nw8,res_ref_nw8]]
223                   
224trigs_min = number_mesh_triangles(interior_regions, poly_all, res_poly_all)
225
226print 'min number triangles', trigs_min
227
228###################################################################
229# Clipping regions for export to asc and regions for clipping data
230###################################################################
231
232poly_bathy = read_polygon(polygons_dir+'mainland_only.csv')
233
234# exporting asc grid - Dampier
235e_min_area = 474000
236e_max_area = 480000
237n_min_area = 7719000
238n_max_area = 7725000
239
240# exporting asc grid - Karratha
241##e_min_area =
242##e_max_area =
243##n_min_area =
244##n_max_area =
245
246"""
247# used in the CIPMA 2006 scenario
248# CIPMA point of interest
249cipma_latitude = -20.588456
250cipma_longitude = 116.771527
251
252k0 = [cipma_latitude-0.02, cipma_longitude-0.02]
253k1 = [cipma_latitude-0.02, cipma_longitude+0.02]
254k2 = [cipma_latitude+0.02, cipma_longitude+0.02]
255k3 = [cipma_latitude+0.02, cipma_longitude-0.02]
256
257cipma_polygon, zone = convert_from_latlon_to_utm([k0, k1, k2, k3])
258assert zone == refzone
259
260poly_facility = read_polygon(polygons_dir+'facility.csv')
261poly_pipeline = read_polygon(polygons_dir+'pipeline2.csv')
262poly_interior = read_polygon(polygons_dir+'interior.csv')
263poly_coast = read_polygon(polygons_dir+'coast_final.csv')
264clip_poly_e = read_polygon(polygons_dir+'gap_e.csv')
265clip_poly_nw = read_polygon(polygons_dir+'gap_nw.csv')
266clip_poly_mid_w = read_polygon(polygons_dir+'gap_mid_w.cvs')
267clip_poly_mid_e = read_polygon(polygons_dir+'gap_mid_e.cvs')
268
269# exporting asc grid
270e_min_area = 474000
271e_max_area = 480000
272n_min_area = 7719000
273n_max_area = 7725000
274
275# used in the original 2005 scenario
276#Interior regions
277karratha_south = degminsec2decimal_degrees(-20,44,0)
278karratha_north = degminsec2decimal_degrees(-20,42,0)
279karratha_west = degminsec2decimal_degrees(116,48,0)
280karratha_east = degminsec2decimal_degrees(116,53,30)
281
282k0 = [karratha_south, karratha_west]
283k1 = [karratha_south, karratha_east]
284k2 = [karratha_north, karratha_east]
285k3 = [karratha_north, karratha_west]   
286
287karratha_polygon, zone = convert_from_latlon_to_utm([k0, k1, k2, k3])
288assert zone == refzone
289
290#Interior regions
291dampier_south = degminsec2decimal_degrees(-20,40,0)
292dampier_north = degminsec2decimal_degrees(-20,38,10)
293dampier_west = degminsec2decimal_degrees(116,43,0)
294dampier_east = degminsec2decimal_degrees(116,45,0)
295
296d0 = [dampier_south, dampier_west]
297d1 = [dampier_south, dampier_east]
298d2 = [dampier_north, dampier_east]
299d3 = [dampier_north, dampier_west]   
300
301dampier_polygon, zone = convert_from_latlon_to_utm([d0, d1, d2, d3])
302assert zone == refzone
303
304#Interior regions
305refinery_south = degminsec2decimal_degrees(-20,37,50)
306refinery_north = degminsec2decimal_degrees(-20,36,0)
307refinery_west = degminsec2decimal_degrees(116,44,0)
308refinery_east = degminsec2decimal_degrees(116,46,10)
309
310d0 = [refinery_south, refinery_west]
311d1 = [refinery_south, refinery_east]
312d2 = [refinery_north, refinery_east]
313d3 = [refinery_north, refinery_west]   
314
315refinery_polygon, zone = convert_from_latlon_to_utm([d0, d1, d2, d3])
316assert zone == refzone
317
318#Interior region around 468899, 7715177:
319#lat (-20, 39, 44.93753), lon (116, 42, 5.09106)
320
321point_south = degminsec2decimal_degrees(-20,39,46)
322point_north = degminsec2decimal_degrees(-20,39,42)
323point_west = degminsec2decimal_degrees(116,42,0)
324point_east = degminsec2decimal_degrees(116,42,10)
325
326d0 = [point_south, point_west]
327d1 = [point_south, point_east]
328d2 = [point_north, point_east]
329d3 = [point_north, point_west]   
330
331point_polygon, zone = convert_from_latlon_to_utm([d0, d1, d2, d3])
332assert zone == refzone
333
334#Neils areas around interesting points
335neil1_point1 = [degminsec2decimal_degrees(-20,35,34),
336                degminsec2decimal_degrees(116,45,18)]
337neil1_point2 = [degminsec2decimal_degrees(-20,36,15),
338                degminsec2decimal_degrees(116,46,18)]
339neil1_point3 = [degminsec2decimal_degrees(-20,35,9),
340                degminsec2decimal_degrees(116,47,17)]
341neil1_point4 = [degminsec2decimal_degrees(-20,34,26),
342                degminsec2decimal_degrees(116,46,17)]
343
344neil1_polygon, zone = convert_from_latlon_to_utm([neil1_point1,
345                                                  neil1_point2,
346                                                  neil1_point3,
347                                                  neil1_point4])
348assert zone == refzone
349
350neil2_point1 = [degminsec2decimal_degrees(-20,39,36),
351                degminsec2decimal_degrees(116,41,33)]
352neil2_point2 = [degminsec2decimal_degrees(-20,40,10),
353                degminsec2decimal_degrees(116,42,13)]
354neil2_point3 = [degminsec2decimal_degrees(-20,38,39),
355                degminsec2decimal_degrees(116,43,49)]
356neil2_point4 = [degminsec2decimal_degrees(-20,38,5),
357                degminsec2decimal_degrees(116,43,9)]
358
359neil2_polygon, zone = convert_from_latlon_to_utm([neil2_point1,
360                                                  neil2_point2,
361                                                  neil2_point3,
362                                                  neil2_point4])
363assert zone == refzone
364
365#Withnell bay
366wb_point1 = [degminsec2decimal_degrees(-20,35,34),
367                degminsec2decimal_degrees(116,45,18)]
368wb_point2 = [degminsec2decimal_degrees(-20,36,15),
369                degminsec2decimal_degrees(116,46,18)]
370wb_point3 = [degminsec2decimal_degrees(-20,35,9),
371                degminsec2decimal_degrees(116,47,17)]
372wb_point4 = [degminsec2decimal_degrees(-20,34,26),
373                degminsec2decimal_degrees(116,46,17)]
374
375wb_polygon, zone = convert_from_latlon_to_utm([wb_point1, wb_point2,
376                                               wb_point3, wb_point4])
377assert zone == refzone
378
379#Larger Withnell bay
380lwb_point1 = [degminsec2decimal_degrees(-20,35,59),
381                degminsec2decimal_degrees(116,42,00)]
382lwb_point2 = [degminsec2decimal_degrees(-20,36,50),
383                degminsec2decimal_degrees(116,46,50)]
384lwb_point3 = [degminsec2decimal_degrees(-20,34,00),
385                degminsec2decimal_degrees(116,47,39)]
386lwb_point4 = [degminsec2decimal_degrees(-20,33,00),
387                degminsec2decimal_degrees(116,42,50)]
388
389lwb_polygon, zone = convert_from_latlon_to_utm([lwb_point1, lwb_point2,
390                                                lwb_point3, lwb_point4])
391                                                     
392assert zone == refzone
393"""
Note: See TracBrowser for help on using the repository browser.