1 | # -*- coding: cp1252 -*- |
---|
2 | """Common filenames and locations for topographic data, meshes and outputs. |
---|
3 | """ |
---|
4 | |
---|
5 | from os import sep, environ, getenv, getcwd |
---|
6 | from os.path import expanduser |
---|
7 | import sys |
---|
8 | from time import localtime, strftime, gmtime |
---|
9 | from anuga.utilities.polygon import read_polygon, plot_polygons, polygon_area |
---|
10 | from anuga.coordinate_transforms.redfearn import degminsec2decimal_degrees, convert_from_latlon_to_utm |
---|
11 | |
---|
12 | if sys.platform == 'win32': |
---|
13 | home = getenv('INUNDATIONHOME') |
---|
14 | user = getenv('USERPROFILE') |
---|
15 | |
---|
16 | else: |
---|
17 | home = getenv('INUNDATIONHOME', sep+'d'+sep+'xrd'+sep+'gem'+sep+'2'+sep+'ramp'+sep+'risk_assessment_methods_project'+sep+'inundation') |
---|
18 | user = getenv('LOGNAME') |
---|
19 | print 'USER:', user |
---|
20 | |
---|
21 | # INUNDATIONHOME is the inundation directory, not the data directory. |
---|
22 | home += sep +'data' |
---|
23 | |
---|
24 | #Making assumptions about the location of scenario data |
---|
25 | state = 'tasmania' |
---|
26 | scenario_dir_name = 'hobart_tsunami_scenario_2006' |
---|
27 | |
---|
28 | # data provided by Tas SES and checked by NM&I |
---|
29 | #onshore_name = 'hob3_topo' # original |
---|
30 | onshore_name_25 = 'hob5_topo_25m' # 25m grid and clipped to 100m elevation or 3000m from coast |
---|
31 | onshore_name = 'hob5_topo' # 12.5m grid and clipped to 100m elevation or 3000m from coast |
---|
32 | #onshore_name_25 = 'hob6_topo_25m' # 25m grid NOT clipped |
---|
33 | offshore_name_tas1 = 'derwent_2m' |
---|
34 | offshore_name_tas2 = 'derwent_5m' |
---|
35 | offshore_name_tas3 = 'south_east_tas' #actually this is AHO |
---|
36 | offshore_name_tas4 = 'hobart_1m' |
---|
37 | |
---|
38 | # AHO data and checked by NM&I |
---|
39 | offshore_name1 = 'xy100003760' |
---|
40 | offshore_name2 = 'xy100003761' |
---|
41 | offshore_name3 = 'xy100003762' |
---|
42 | offshore_name4 = 'xy100003907' |
---|
43 | offshore_name5 = 'xy100003908' |
---|
44 | offshore_name6 = 'xy100003909' |
---|
45 | offshore_name7 = 'xy100003910' |
---|
46 | offshore_name8 = 'xy100003932' |
---|
47 | offshore_name9 = 'xy100003933' |
---|
48 | offshore_name10 = 'xy100003934' |
---|
49 | offshore_name11 = 'xy100003935' |
---|
50 | offshore_name12 = 'xy100003936' |
---|
51 | offshore_name13 = 'xy100003964' |
---|
52 | offshore_name14 = 'xy100014250' |
---|
53 | offshore_name15 = 'xy100014253' |
---|
54 | offshore_name16 = 'xy100016142' |
---|
55 | |
---|
56 | # developed by NM&I |
---|
57 | coast_name = 'coastline_points' |
---|
58 | |
---|
59 | boundary_basename = 'puysegur' # Mw 8.7 |
---|
60 | #boundary_basename = 'puysegur_clip' # Mw 8.5 |
---|
61 | |
---|
62 | #swollen/ all data output |
---|
63 | basename = 'source' |
---|
64 | |
---|
65 | codename = 'project.py' |
---|
66 | |
---|
67 | #Derive subdirectories and filenames |
---|
68 | #time = strftime('%Y%m%d_%H%M%S',localtime()) #gets time for new dir |
---|
69 | local_time = strftime('%Y%m%d_%H%M%S',gmtime()) #gets time for new dir |
---|
70 | meshdir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'meshes'+sep |
---|
71 | datadir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'topographies'+sep |
---|
72 | gaugedir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'gauges'+sep |
---|
73 | polygondir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'polygons'+sep |
---|
74 | boundarydir = home+sep+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'boundaries'+sep |
---|
75 | outputdir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'outputs'+sep |
---|
76 | outputtimedir = outputdir + local_time + sep |
---|
77 | polygondir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'polygons'+sep |
---|
78 | |
---|
79 | #gauge_filename = gaugedir + 'hobart_gauges_final.csv' |
---|
80 | #gauge_filename = gaugedir + 'hobartGauges20061019.csv' |
---|
81 | gauge_filename = gaugedir + 'gauges_MRT.csv' |
---|
82 | #gauge_filename = gaugedir + 'check_boundary.csv' |
---|
83 | |
---|
84 | codedir = getcwd()+sep |
---|
85 | codedirname = codedir + 'project.py' |
---|
86 | meshname = outputtimedir + 'mesh_' + basename |
---|
87 | |
---|
88 | # Necessary if using point datasets, rather than grid |
---|
89 | onshore_dem_name = datadir + onshore_name |
---|
90 | onshore_dem_name_25 = datadir + onshore_name_25 |
---|
91 | all_onshore_dem_name = datadir + 'combined_onshore' |
---|
92 | offshore_dem_name_local1 = datadir + offshore_name_tas1 |
---|
93 | offshore_dem_name_local2 = datadir + offshore_name_tas2 |
---|
94 | offshore_dem_name_local3 = datadir + offshore_name_tas3 |
---|
95 | offshore_dem_name_local4 = datadir + offshore_name_tas4 |
---|
96 | offshore_dem_name_aho1 = datadir + offshore_name1 |
---|
97 | offshore_dem_name_aho2 = datadir + offshore_name2 |
---|
98 | offshore_dem_name_aho3 = datadir + offshore_name3 |
---|
99 | offshore_dem_name_aho4 = datadir + offshore_name4 |
---|
100 | offshore_dem_name_aho5 = datadir + offshore_name5 |
---|
101 | offshore_dem_name_aho6 = datadir + offshore_name6 |
---|
102 | offshore_dem_name_aho7 = datadir + offshore_name7 |
---|
103 | offshore_dem_name_aho8 = datadir + offshore_name8 |
---|
104 | offshore_dem_name_aho9 = datadir + offshore_name9 |
---|
105 | offshore_dem_name_aho10 = datadir + offshore_name10 |
---|
106 | offshore_dem_name_aho11 = datadir + offshore_name11 |
---|
107 | offshore_dem_name_aho12 = datadir + offshore_name12 |
---|
108 | offshore_dem_name_aho13 = datadir + offshore_name13 |
---|
109 | offshore_dem_name_aho14 = datadir + offshore_name14 |
---|
110 | offshore_dem_name_aho15 = datadir + offshore_name15 |
---|
111 | offshore_dem_name_aho16 = datadir + offshore_name16 |
---|
112 | coast_dem_name = datadir + coast_name |
---|
113 | |
---|
114 | # addition once total grid delivered |
---|
115 | onshore_offshore_dem_name_25 = datadir + '25m_se_tas' #25m grid |
---|
116 | onshore_offshore_dem_name = datadir + '50m_se_tas' #50m grid |
---|
117 | |
---|
118 | # output names |
---|
119 | bruny_dem_name_25 = datadir + 'bruny_25_dem' |
---|
120 | hobart_dem_name_25 = datadir + 'hobart_25_dem' |
---|
121 | combined_dem_name = datadir + 'hobart_combined_elevation' |
---|
122 | combined_dem_name_2 = datadir + 'hobart_combined_elevation_2' |
---|
123 | combined_dem_name_3 = datadir + 'hobart_combined_elevation_jane' |
---|
124 | combined_dem_name_4 = datadir + 'hobart_combined_elevation_test' |
---|
125 | |
---|
126 | #outputname = outputtimedir + basename #Used by post processing |
---|
127 | |
---|
128 | ############################### |
---|
129 | # Domain definitions |
---|
130 | ############################### |
---|
131 | |
---|
132 | # bounding box for clipping MOST output (much bigger than study area) |
---|
133 | south = degminsec2decimal_degrees(-44,45,0) |
---|
134 | north = degminsec2decimal_degrees(-42,0,0) |
---|
135 | west = degminsec2decimal_degrees(146,45,0) |
---|
136 | east = degminsec2decimal_degrees(148,25,0) |
---|
137 | |
---|
138 | ###Main Domain of Hobart: |
---|
139 | d0 = [south, west] |
---|
140 | d1 = [south, east] |
---|
141 | d2 = [north, east] |
---|
142 | d3 = [north, west] |
---|
143 | polyAll2, zone = convert_from_latlon_to_utm([d0, d1, d2, d3]) |
---|
144 | refzone = zone |
---|
145 | |
---|
146 | # Mark run - morning Fri 29 Sep; surrounds -100m and 20mish elevation |
---|
147 | polyAll = read_polygon(polygondir+'new_extent_2.csv') |
---|
148 | plot_polygons([polyAll, polyAll2],'boundingpoly',verbose=False) |
---|
149 | #print 'Area of bounding polygon', polygon_area(polyAll) |
---|
150 | polyAll_refine = read_polygon(polygondir+'extent_refine.csv') |
---|
151 | #print 'Area of refined bounding polygon', polygon_area(polyAll_refine) |
---|
152 | #print 'change', polygon_area(polyAll_refine)/polygon_area(polyAll) |
---|
153 | |
---|
154 | polyAll_refine2 = read_polygon(polygondir+'export_refine_2.csv') |
---|
155 | #print 'Area of refined bounding polygon 2', polygon_area(polyAll_refine2) |
---|
156 | #print 'change 2', polygon_area(polyAll_refine2)/polygon_area(polyAll) |
---|
157 | |
---|
158 | ################################################################### |
---|
159 | # Clipping regions for export to asc and regions for clipping data |
---|
160 | ################################################################### |
---|
161 | |
---|
162 | # clipping 12.5m onshore data set |
---|
163 | eastingmin = 520000 |
---|
164 | eastingmax = 536000 |
---|
165 | northingmin = 5245000 |
---|
166 | northingmax = 5260000 |
---|
167 | # for original model setup |
---|
168 | # clipping 25m data set - Hobart |
---|
169 | eastingmin25 = 524208.387 |
---|
170 | eastingmax25 = 554867.24 |
---|
171 | northingmin25 = 5229154.555 |
---|
172 | northingmax25 = 5258511.857 |
---|
173 | hob_clip = [[eastingmin25,northingmin25],[eastingmin25,northingmax25],[eastingmax25,northingmax25],[eastingmax25,northingmin25]] |
---|
174 | # clipping 25m data set - Bruny |
---|
175 | eastingmin25_2 = 523672.502 |
---|
176 | eastingmax25_2 = 536020.057 |
---|
177 | northingmin25_2 = 5203120.035 |
---|
178 | northingmax25_2 = 5212052.309 |
---|
179 | bruny_clip = [[eastingmin25_2,northingmin25_2],[eastingmin25_2,northingmax25_2],[eastingmax25_2,northingmax25_2],[eastingmax25_2,northingmin25_2]] |
---|
180 | # overall 25m clipping region - covering Hobart and Bruny |
---|
181 | eastingmin25_3 = 523672.502 |
---|
182 | eastingmax25_3 = 554867.24 |
---|
183 | northingmin25_3 = 5203120.035 |
---|
184 | northingmax25_3 = 5258511.857 |
---|
185 | |
---|
186 | # export for refined grids at paleo sites |
---|
187 | eastingmin_site13 = 532835.94 |
---|
188 | eastingmax_site13 = 533848.23 |
---|
189 | northingmin_site13 = 5237384.18 |
---|
190 | northingmax_site13 = 5238195.03 |
---|
191 | |
---|
192 | eastingmin_kingston = 525500 #525905.49 |
---|
193 | eastingmax_kingston = 527773.42 |
---|
194 | northingmin_kingston = #5240256.71 |
---|
195 | northingmax_kingston = 5242300 #5242148.58 |
---|
196 | |
---|
197 | eastingmin_bruny = 523638.9 |
---|
198 | eastingmax_bruny = 533000.88 |
---|
199 | northingmin_bruny = 5204967.41 |
---|
200 | northingmax_bruny = 5212177.69 |
---|
201 | |
---|
202 | ############################### |
---|
203 | # Interior region definitions |
---|
204 | ############################### |
---|
205 | |
---|
206 | # Hobart digitized polygons |
---|
207 | poly_hobart1 = read_polygon(polygondir+'Hob_poly1.csv') |
---|
208 | poly_hobart2 = read_polygon(polygondir+'Hob_poly2.csv') |
---|
209 | poly_hobart3 = read_polygon(polygondir+'Hob_poly3.csv') |
---|
210 | poly_hobart4 = read_polygon(polygondir+'Hob_poly4.csv') |
---|
211 | poly_hobart5 = read_polygon(polygondir+'new_interior_region.csv') |
---|
212 | |
---|
213 | plot_polygons([polyAll, poly_hobart1,poly_hobart2,poly_hobart3,poly_hobart5],'orig_model',verbose=False) |
---|
214 | |
---|
215 | # to refine around paleo sites |
---|
216 | poly_kingston = read_polygon(polygondir+'Kingston.csv') |
---|
217 | poly_bruny = read_polygon(polygondir+'bruny_refine.csv') |
---|
218 | poly_site13 = read_polygon(polygondir+'Site13.csv') |
---|
219 | #print 'areas of refined polys', polygon_area(poly_kingston), polygon_area(poly_bruny), polygon_area(poly_site13) |
---|
220 | |
---|
221 | plot_polygons([polyAll, poly_kingston,poly_bruny,poly_site13,poly_hobart5],'orig_model',verbose=False) |
---|
222 | #print 'Area of interior regions', (polygon_area(poly_hobart1)+\ |
---|
223 | # polygon_area(poly_hobart2)+polygon_area(poly_hobart3)+\ |
---|
224 | # polygon_area(poly_hobart4)+polygon_area(poly_hobart5))/1000000. |
---|
225 | |
---|
226 | #print 'Area of original 25m data clipping', (polygon_area(hob_clip)+polygon_area(bruny_clip))/1000000. |
---|
227 | #print 'Area of new interior region', polygon_area(poly_hobart5)/1000000. |
---|