source: anuga_work/production/exmouth_2006/project.py @ 4423

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

updates for export scripts

File size: 6.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, polygon_area, is_inside_polygon
10#from anuga.coordinate_transforms.redfearn import degminsec2decimal_degrees, convert_points_from_latlon_to_utm
11
12if sys.platform == 'win32':
13    home = getenv('INUNDATIONHOME')
14    user = getenv('USERPROFILE')
15
16else:   
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.
22home += sep +'data'
23
24#Making assumptions about the location of scenario data
25state = 'western_australia'
26scenario_dir_name = 'exmouth_tsunami_scenario_2006'
27
28# onshore data provided by WA DLI
29onshore_name =  'first' # original
30
31# AHO + DPI data
32offshore_name1 = 'XY100011610'
33offshore_name2 = 'XY100011611'
34offshore_name3 = 'XY100011613'
35offshore_name4 = 'XY100011614'
36offshore_name5 = 'XY100011616'
37offshore_name6 = 'XY100011617'
38offshore_name7 = 'XY100011618'
39offshore_name8 = 'XY100011621'
40offshore_name9 = 'XY100011623'
41offshore_name10 = 'XY100011745'
42offshore_name11 = 'XY100011746'
43offshore_name12 = 'XY100017530'
44offshore_name13 = 'XY100017532'
45offshore_name14 = 'XY100017538'
46offshore_name15 = 'XY100017540'
47offshore_name16 = 'XYBR66'
48offshore_name17 = 'XYBR70'
49offshore_name18 = 'XYBR80'
50offshore_name19 = 'XYBR88'
51offshore_name20 = 'XYBR93'
52offshore_name21 = 'XYBR0110'
53offshore_name22 = 'XYWADPI'
54
55# developed by NM&I
56coast_name = 'coastline'
57
58boundary_basename = 'SU-AU' # Mw ?
59
60#swollen/ all data output
61basename = 'source'
62codename = 'project.py'
63
64#Derive subdirectories and filenames
65local_time = strftime('%Y%m%d_%H%M%S',gmtime()) 
66meshdir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'meshes'+sep
67datadir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'topographies'+sep
68gaugedir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'gauges'+sep
69polygondir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'polygons'+sep
70boundarydir = home+sep+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'boundaries'+sep
71outputdir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'outputs'+sep
72outputtimedir = outputdir + local_time + sep
73polygondir = home+sep+state+sep+scenario_dir_name+sep+'anuga'+sep+'polygons'+sep
74
75gauge_filename = gaugedir + 'exmouth_gauges.csv'
76community_filename = gaugedir + 'CHINS_v2.csv'
77community_exmouth = gaugedir + 'community_exmouth.csv'
78codedir = getcwd()+sep                           
79codedirname = codedir + 'project.py'
80meshname = outputtimedir + 'mesh_' + basename
81
82# Necessary if using point datasets, rather than grid
83onshore_dem_name = datadir + onshore_name
84offshore_dem_name1 = datadir + offshore_name1
85offshore_dem_name2 = datadir + offshore_name2
86offshore_dem_name3 = datadir + offshore_name3
87offshore_dem_name4 = datadir + offshore_name4
88offshore_dem_name5 = datadir + offshore_name5
89offshore_dem_name6 = datadir + offshore_name6
90offshore_dem_name7 = datadir + offshore_name7
91offshore_dem_name8 = datadir + offshore_name8
92offshore_dem_name9 = datadir + offshore_name9
93offshore_dem_name10 = datadir + offshore_name10
94offshore_dem_name11 = datadir + offshore_name11
95offshore_dem_name12 = datadir + offshore_name12
96offshore_dem_name13 = datadir + offshore_name13
97offshore_dem_name14 = datadir + offshore_name14
98offshore_dem_name15 = datadir + offshore_name15
99offshore_dem_name16 = datadir + offshore_name16
100offshore_dem_name17 = datadir + offshore_name17
101offshore_dem_name18 = datadir + offshore_name18
102offshore_dem_name19 = datadir + offshore_name19
103offshore_dem_name20 = datadir + offshore_name20
104offshore_dem_name21 = datadir + offshore_name21
105offshore_dem_name22 = datadir + offshore_name22
106
107coast_dem_name = datadir + coast_name
108
109combined_dem_name   = datadir + 'exmouth_combined_elevation'
110
111#buildings_filename = gauges_dir + 'exmouth_res_nexis.csv'
112buildings_filename_damage_out = 'exmouth_res_nexis_modified.csv'
113
114community_filename = gaugedir + 'CHINS_v2.csv'
115community_exmouth = gaugedir + 'community_exmouth.csv'
116
117###############################
118# Domain definitions
119###############################
120
121# bounding box for clipping MOST/URS output (much bigger than study area)
122##south = degminsec2decimal_degrees(-19,0,0)
123##north = degminsec2decimal_degrees(-17,15,0)
124##west  = degminsec2decimal_degrees(120,0,0)
125##east  = degminsec2decimal_degrees(122,30,0)
126##
127##d0 = [south, west]
128##d1 = [south, east]
129##d2 = [north, east]
130##d3 = [north, west]
131##poly_bc, zone = convert_points_from_latlon_to_utm([d0, d1, d2, d3])
132##refzone = zone
133
134# bounding polygon for study area
135poly_all = read_polygon(polygondir+'extent_zone50a.csv')
136
137# plot bounding polygon and make sure BC info surrounds it
138#plot_polygons([poly_all, poly_bc],'boundingpoly',verbose=False)
139print 'Area of bounding polygon', polygon_area(poly_all)/1000000.0
140
141###################################################################
142# Clipping regions for export to asc and regions for clipping data
143###################################################################
144
145# exporting asc grid
146eastingmin = 406215.87
147eastingmax = 440208.78
148northingmin = 7983427.73
149northingmax = 8032834.52
150
151###############################
152# Interior region definitions
153###############################
154'''
155# exmouth digitized polygons
156poly_exmouth1 = read_polygon(polygondir+'exmouth_Local_Polygon_update.csv')
157poly_exmouth2 = read_polygon(polygondir+'exmouth_Close2_update.csv')
158poly_exmouth3 = read_polygon(polygondir+'exmouth_Coast_update.csv')
159#poly_exmouth4 = read_polygon(polygondir+'Cable_Beach_revised.csv')
160
161plot_polygons([poly_all,poly_exmouth1,poly_exmouth2,poly_exmouth3],'boundingpoly2',verbose=False)
162print 'Area of local polygon', polygon_area(poly_exmouth1)/1000000.0
163print 'Area of close polygon', polygon_area(poly_exmouth2)/1000000.0
164print 'Area of coastal polygon', polygon_area(poly_exmouth3)/1000000.0
165#print 'Area of cable beach polygon', polygon_area(poly_exmouth4)/1000000.0
166
167for i in poly_exmouth3:
168    v = is_inside_polygon(i,poly_exmouth1, verbose=False)
169    if v == False: print v
170
171def number_mesh_triangles(interior_regions, bounding_poly, remainder_res):
172    from anuga.utilities.polygon import polygon_area
173   
174    # TO DO check if any of the regions fall inside one another
175    no_triangles = 0.0
176    area = polygon_area(bounding_poly)
177    for i,j in interior_regions:
178        this_area = polygon_area(i)
179        no_triangles += this_area/j
180        area -= this_area
181        print j, this_area/1000000., area/1000000.
182    no_triangles += area/remainder_res
183    return int(no_triangles/0.7)
184'''
Note: See TracBrowser for help on using the repository browser.