source: anuga_work/production/perth/project.py @ 5467

Last change on this file since 5467 was 5467, checked in by kristy, 15 years ago

new script for perth to build boundary information based on urs mux2 polyline implementation

File size: 7.7 KB
Line 
1# -*- coding: cp1252 -*-
2"""Common filenames and locations for topographic data, meshes and outputs.
3"""
4
5from os import sep, environ, getenv, getcwd
6from os.path import expanduser
7import sys
8from time import localtime, strftime, gmtime
9from anuga.utilities.polygon import read_polygon, plot_polygons, is_inside_polygon, number_mesh_triangles
10#from anuga.coordinate_transforms.redfearn import degminsec2decimal_degrees, convert_points_from_latlon_to_utm
11from anuga.utilities.system_tools import get_user_name, get_host_name
12
13# file and system info
14#---------------------------------
15#codename = 'project.py'
16
17home = getenv('INUNDATIONHOME') + sep +'data'+sep #Sandpit's parent diruser = get_user_name()
18muxhome = getenv('MUXHOME')
19user = get_user_name()
20host = get_host_name()
21
22# INUNDATIONHOME is the inundation directory, not the data directory.
23
24#time stuff
25time = strftime('%Y%m%d_%H%M%S',localtime()) #gets time for new dir
26gtime = strftime('%Y%m%d_%H%M%S',gmtime()) #gets time for new dir
27build_time = time+'_build'
28run_time = time+'_run'
29print 'gtime: ', gtime
30
31#Making assumptions about the location of scenario data
32state = 'western_australia'
33scenario_name = 'perth'
34scenario = 'perth_tsunami_scenario'
35
36tide = 0.6
37
38alpha = 0.1
39friction=0.01
40starttime=0
41finaltime=80000
42export_cellsize=25
43setup='final'
44source='exmouth'
45
46if setup =='trial':
47    print'trial'
48    res_factor=10
49    time_thinning=48
50    yieldstep=240
51if setup =='basic': 
52    print'basic'
53    res_factor=4
54    time_thinning=12
55    yieldstep=120
56if setup =='final': 
57    print'final'
58    res_factor=1
59    time_thinning=4
60    yieldstep=60
61
62dir_comment='_'+setup+'_'+str(tide)+'_'+str(source)+'_'+str(user)
63
64# onshore data provided by WA DLI
65onshore_name = 'perth_dli_ext' # original
66#island
67island_name = 'rott_dli_ext' # original
68island_name1 = 'gard_dli_ext'
69island_name2 = 'carnac_island_dted'
70island_name3 = 'penguin_dted'
71
72# AHO + DPI data + colin French coastline
73coast_name = 'coastline'
74offshore_name = 'perth_bathymetry'
75
76
77#final topo name
78combined_name ='perth_combined_elevation'
79combined_smaller_name = 'perth_combined_elevation_smaller'
80
81anuga_dir = home+state+sep+scenario+sep+'anuga'+sep
82
83topographies_in_dir = home+state+sep+scenario+sep+'elevation_final'+sep+'points'+sep
84topographies_dir = anuga_dir+'topographies'+sep
85#topographies_time_dir = topographies_dir+build_time+sep
86
87# input topo file location
88onshore_in_dir_name = topographies_in_dir + onshore_name
89island_in_dir_name = topographies_in_dir + island_name
90island_in_dir_name1 = topographies_in_dir + island_name1
91island_in_dir_name2 = topographies_in_dir + island_name2
92island_in_dir_name3 = topographies_in_dir + island_name3
93
94coast_in_dir_name = topographies_in_dir + coast_name
95offshore_in_dir_name = topographies_in_dir + offshore_name
96
97
98onshore_dir_name = topographies_dir + onshore_name
99island_dir_name = topographies_dir + island_name
100island_dir_name1 = topographies_dir + island_name1
101island_dir_name2 = topographies_dir + island_name2
102island_dir_name3 = topographies_dir + island_name3
103
104coast_dir_name = topographies_dir + coast_name
105offshore_dir_name = topographies_dir + offshore_name
106
107#final topo files
108combined_dir_name = topographies_dir + combined_name
109#combined_time_dir_name = topographies_time_dir + combined_name
110combined_smaller_name_dir = topographies_dir + combined_smaller_name
111#combined_time_dir_final_name = topographies_time_dir + combined_final_name
112
113meshes_dir = anuga_dir+'meshes'+sep
114meshes_dir_name = meshes_dir + scenario_name
115
116polygons_dir = anuga_dir+'polygons'+sep
117tide_dir = anuga_dir+'tide_data'+sep
118
119
120#boundaries_source = '1'
121   
122if source=='exmouth':
123    boundaries_name = 'perth_3103_28052008' #exmouth gun
124    boundaries_in_dir = anuga_dir+'boundaries'+sep+'urs'+sep+'exmouth'+sep+'1_10000'+sep
125
126if source=='test':
127    boundaries_name = 'other' #exmouth gun
128    boundaries_in_dir = anuga_dir+'boundaries'+sep
129
130
131#boundaries locations
132boundaries_in_dir_name = boundaries_in_dir + boundaries_name
133boundaries_dir = anuga_dir+'boundaries'+sep
134boundaries_dir_name = boundaries_dir + scenario_name # what it creates???
135boundaries_dir_mux = muxhome
136#boundaries_time_dir = anuga_dir+'boundaries'+sep+build_time+sep
137#boundaries_time_dir_name = boundaries_time_dir + boundaries_name  #Used by post processing
138
139#output locations
140output_dir = anuga_dir+'outputs'+sep
141output_build_time_dir = anuga_dir+'outputs'+sep+build_time+dir_comment+sep
142output_run_time_dir = anuga_dir+'outputs'+sep+run_time+dir_comment+sep
143output_run_time_dir_name = output_run_time_dir + scenario_name  #Used by post processing
144
145#gauges
146gauge_name = 'perth.csv'
147
148gauges_dir = home+sep+state+sep+scenario+sep+'anuga'+sep+'gauges'+sep
149beach_gauges = gauges_dir + 'beach_gauges.csv'
150gauges_dir_name = gauges_dir + gauge_name
151
152buildings_filename = gauges_dir + 'Perth_resA.csv'
153buildings_filename_out = 'Perth_res_Project_modified.csv'
154
155###############################
156# Domain definitions
157###############################
158from anuga.utilities.polygon import read_polygon, plot_polygons, polygon_area, is_inside_polygon
159
160poly_all = read_polygon(polygons_dir+'bounding_area.csv')
161res_poly_all = 100000*res_factor
162
163#refzone = 50
164
165###############################
166# Interior region definitions
167###############################
168
169#Polygon designed by 20m contours, or 3km from the coastline
170poly_internal_20_3 = read_polygon(polygons_dir+'internal_h20mORd3km.csv')
171res_internal_20_3 = 25000*res_factor
172
173#Polygon designed to incorporate Garden Island and sand bank infront of Rockingham
174poly_garden_rockingham = read_polygon(polygons_dir+'garden_rockingham.csv')
175res_garden_rockingham = 1500*res_factor
176
177#Polygon designed to incorporate coastline of rottnest
178poly_rottnest_ex = read_polygon(polygons_dir+'rottnest_external.csv')
179res_rottnest_ex = 1000*res_factor
180
181#Polygon designed to cut out the rottnest island land.
182poly_rottnest_in = read_polygon(polygons_dir+'rottnest_internal.csv')
183res_rottnest_in = 25000*res_factor
184
185#Polygon designed to incorporate perth and Fremantle CBD
186poly_cbd = read_polygon(polygons_dir+'CBD_coastal.csv')
187res_cbd = 500*res_factor
188
189#Polygon designed to incorporate rockingham and penguin island
190poly_penguin = read_polygon(polygons_dir+'rockingham_penguin.csv')
191res_penguin = 500*res_factor
192
193poly_geordie_bay = read_polygon(polygons_dir+'Geordie_Bay.csv')
194res_geordie_bay = 500*res_factor
195
196poly_sorrento_gauge = read_polygon(polygons_dir+'Sorrento_gauge.csv')
197res_sorrento_gauge = 500*res_factor
198#assert zone == refzone
199
200interior_regions = [[poly_internal_20_3,res_internal_20_3],[poly_cbd,res_cbd]
201                     ,[poly_garden_rockingham,res_garden_rockingham]
202                     ,[poly_penguin,res_penguin],[poly_geordie_bay,res_geordie_bay]
203                     ,[poly_sorrento_gauge,res_sorrento_gauge],[poly_rottnest_in, res_rottnest_in]
204                     ,[poly_rottnest_ex, res_rottnest_ex]]
205
206boundary_tags={'back': [0,1,2], 'side': [3,7],'ocean': [4, 5, 6]}
207
208trigs_min = number_mesh_triangles(interior_regions, poly_all, res_poly_all)
209
210print 'min number triangles', trigs_min
211
212poly_mainland = read_polygon(polygons_dir+'Initial_Condition.csv')
213
214###################################################################
215# Clipping regions for export to asc and regions for clipping data
216###################################################################
217
218
219#Geordie Bay extract ascii grid
220xminGeordie = 358000
221xmaxGeordie = 362000
222yminGeordie = 6458500
223ymaxGeordie = 6461000
224
225#Sorrento extract ascii grid
226xminSorrento = 379000
227xmaxSorrento = 382500
228yminSorrento = 6477000
229ymaxSorrento = 6480000
230
231#Fremantle extract ascii grid
232xminFremantle = 376000
233xmaxFremantle = 388000
234yminFremantle = 6449000
235ymaxFremantle = 6461000
236
237#Rockingham extract ascii grid
238xminRockingham = 373500
239xmaxRockingham = 385500
240yminRockingham = 6424000
241ymaxRockingham = 6433000
242
Note: See TracBrowser for help on using the repository browser.