source: anuga_work/production/carnarvon/project.py @ 5790

Last change on this file since 5790 was 5790, checked in by kristy, 16 years ago

Updated scripts to reflect perth. Also added the 250m scripts and used more than one polygon for initial condition

File size: 8.9 KB
Line 
1"""Common filenames and locations for elevation, meshes and outputs.
2This script is the heart of all scripts in the folder
3"""
4#------------------------------------------------------------------------------
5# Import necessary modules
6#------------------------------------------------------------------------------
7
8from os import sep, environ, getenv, getcwd
9from os.path import expanduser
10import sys
11from time import localtime, strftime, gmtime
12from anuga.utilities.polygon import read_polygon, plot_polygons, is_inside_polygon, number_mesh_triangles
13from anuga.utilities.system_tools import get_user_name, get_host_name
14from anuga.shallow_water.data_manager import urs2sts,create_sts_boundary
15from anuga.utilities.polygon import read_polygon, plot_polygons, polygon_area, is_inside_polygon
16
17#------------------------------------------------------------------------------
18# Directory setup
19#------------------------------------------------------------------------------
20# Note: INUNDATIONHOME is the inundation directory, not the data directory.
21
22home = getenv('INUNDATIONHOME') + sep +'data'+sep #Sandpit's parent diruser = get_user_name()
23muxhome = getenv('MUXHOME')
24user = get_user_name()
25host = get_host_name()
26
27# determines time for setting up output directories
28time = strftime('%Y%m%d_%H%M%S',localtime()) 
29gtime = strftime('%Y%m%d_%H%M%S',gmtime()) 
30build_time = time+'_build'
31run_time = time+'_run'
32
33#------------------------------------------------------------------------------
34# Initial Conditions
35#------------------------------------------------------------------------------
36
37# this section needs to be updated to reflect the modelled community.
38# Note, the user needs to set up the directory system accordingly
39state = 'western_australia'
40scenario_name = 'carnarvon'
41scenario = 'carnarvon_tsunami_scenario'
42
43# Model specific parameters. One or all can be changed each time the
44# run_scenario script is executed
45tide = 0                #0.6
46#event_number = 27255   # linked to hazard map
47event_number = 27283
48alpha = 0.1             # smoothing parameter for mesh
49friction=0.01           # manning's friction coefficient
50starttime=0             
51finaltime=80000         # final time for simulation
52
53setup='final'  # Final can be replaced with trial or basic.
54               # Either will result in a coarser mesh that will allow a
55               # faster, but less accurate, simulation.
56
57if setup =='trial':
58    print'trial'
59    res_factor=10
60    time_thinning=48
61    yieldstep=240
62if setup =='basic': 
63    print'basic'
64    res_factor=4
65    time_thinning=12
66    yieldstep=120
67if setup =='final': 
68    print'final'
69    res_factor=1
70    time_thinning=4
71    yieldstep=60
72
73#------------------------------------------------------------------------------
74# Output Filename
75#------------------------------------------------------------------------------
76# Important to distinguish each run - ensure str(user) is included!
77# Note, the user is free to include as many parameters as desired
78dir_comment='_'+setup+'_'+str(tide)+'_'+str(event_number)+'_'+ 'alpha' +str(alpha)+'_'+str(user)
79
80#------------------------------------------------------------------------------
81# Input Data
82#------------------------------------------------------------------------------
83
84# elevation data used in build_carnarvon.py
85# onshore data: format ascii grid with accompanying projection file
86onshore_name = 'dem_onshore' 
87# coastline: format x,y,elevation (with title)
88coast_name = 'coastline.txt'
89# bathymetry: format x,y,elevation (with title)
90offshore_name = 'Shark_Bay_Clip.txt'
91offshore_name1 = 'XYAHD_Clip.txt'
92offshore_name2 = 'DPI_data.txt'
93
94# gauges - used in get_timeseries.py
95gauge_name = 'carnarvon.csv'
96gauge_name2 = 'thinned_MGA50.csv'
97
98# BOUNDING POLYGON - used in build_boundary.py and run_carnarvon.py respectively
99# NOTE: when files are put together the points must be in sequence - for ease go clockwise!
100# Check the run_carnarvon.py for boundary_tags
101# thinned ordering file from Hazard Map: format is index,latitude,longitude (with title)
102order_filename = 'thinned_boundary_ordering.txt'
103#landward bounding points
104landward = 'landward_bounding_polygon.txt'
105
106#------------------------------------------------------------------------------
107# Output Elevation Data
108#------------------------------------------------------------------------------
109# Output filename for elevation
110# this is a combination of all the data (utilisied in build_boundary)
111combined_name ='carnarvon_combined_elevation'
112combined_smaller_name = 'carnarvon_combined_elevation_smaller'
113
114#------------------------------------------------------------------------------
115# Directory Structure
116#------------------------------------------------------------------------------
117anuga_dir = home+state+sep+scenario+sep+'anuga'+sep
118topographies_in_dir = home+state+sep+scenario+sep+'elevation_final'+sep+'points'+sep
119topographies_dir = anuga_dir+'topographies'+sep
120polygons_dir = anuga_dir+'polygons'+sep
121tide_dir = anuga_dir+'tide_data'+sep
122boundaries_dir = anuga_dir+'boundaries'+ sep
123output_dir = anuga_dir+'outputs'+sep
124gauges_dir = anuga_dir+'gauges'+sep
125meshes_dir = anuga_dir+'meshes'+sep
126
127#------------------------------------------------------------------------------
128# Location of input and output data
129#------------------------------------------------------------------------------
130# where the input data sits
131onshore_in_dir_name = topographies_in_dir + onshore_name
132coast_in_dir_name = topographies_in_dir + coast_name
133offshore_in_dir_name = topographies_in_dir + offshore_name
134offshore_in_dir_name1 = topographies_in_dir + offshore_name1
135offshore_in_dir_name2 = topographies_in_dir + offshore_name2
136
137# where the output data sits
138onshore_dir_name = topographies_dir + onshore_name
139coast_dir_name = topographies_dir + coast_name
140offshore_dir_name = topographies_dir + offshore_name
141offshore_dir_name1 = topographies_dir + offshore_name1
142offshore_dir_name2 = topographies_dir + offshore_name2
143
144# where the combined elevation file sits
145combined_dir_name = topographies_dir + combined_name
146combined_smaller_name_dir = topographies_dir + combined_smaller_name
147
148# where the mesh sits (this is created during the run_carnarvon.py)
149meshes_dir_name = meshes_dir + scenario_name+'.msh'
150
151# where the boundary ordering files sit (this is used within build_boundary.py)
152order_filename_dir = boundaries_dir + order_filename
153
154# where the landward points of boundary extent sit (this is used within run_carnarvon.py)
155landward_dir = boundaries_dir + landward
156
157# where the event sts files sits (this is created during the build_boundary.py)
158boundaries_dir_event = boundaries_dir + str(event_number) + sep
159boundaries_dir_mux = muxhome
160
161# where the directory of the output filename sits
162output_build_time_dir = output_dir+build_time+dir_comment+sep   #used for build_carnarvon.py
163output_run_time_dir = output_dir+run_time+dir_comment+sep       #used for run_carnarvon.py
164output_run_time_dir_name = output_run_time_dir + scenario_name  #Used by post processing
165
166#w here the directory of the gauges sit
167gauges_dir_name = gauges_dir + gauge_name       #used for get_timeseries.py
168gauges_dir_name2 = gauges_dir + gauge_name2     #used for get_timeseries.py
169
170#------------------------------------------------------------------------------
171# Interior region definitions
172#------------------------------------------------------------------------------
173
174#Land, to set the initial stage/water to be offcoast only
175#Land and Ocean to clip data
176poly_mainland=read_polygon(polygons_dir +'land_initial_condition.csv')
177poly_island1=read_polygon(polygons_dir +'land_initial_condition_bernier.csv')
178poly_island2=read_polygon(polygons_dir +'land_initial_condition_dorne.csv')
179poly_ocean=read_polygon(polygons_dir +'ocean_initial_condition.csv')
180
181# Initial bounding polygon for data clipping
182poly_all = read_polygon(polygons_dir+'poly_all.csv')
183res_poly_all = 100000*res_factor
184
185# Area of Interest 1 (carnarvon)
186poly_aoi1 = read_polygon(polygons_dir+'Carnarvon5m.csv')
187res_aoi1 = 500*res_factor
188
189# Area of Significance 1 (carnarvon)
190poly_aos1 = read_polygon(polygons_dir+'Carnarvon10m.csv')
191res_aos1 = 1500*res_factor
192
193# Shallow water 1
194poly_sw1 = read_polygon(polygons_dir+'Carnarvon20m.csv')
195res_sw1 = 25000*res_factor
196
197# Shallow water 2
198poly_sw2 = read_polygon(polygons_dir+'Island20m.csv')
199res_sw2 = 50000*res_factor
200
201# Combined all regions, must check that all are included!
202interior_regions = [[poly_aoi1,res_aoi1],[poly_aos1,res_aos1]
203                     ,[poly_sw1,res_sw1],[poly_sw2,res_sw2]]
204
205   
206trigs_min = number_mesh_triangles(interior_regions, poly_all, res_poly_all)
207print 'min estimated number of triangles', trigs_min
208   
209#------------------------------------------------------------------------------
210# Clipping regions for export to asc and regions for clipping data
211# Final inundation maps should only be created in regions of the finest mesh
212#------------------------------------------------------------------------------
213
214# carnarvon CBD extract ascii grid
215##xminCBD =
216##xmaxCBD =
217##yminCBD =
218##ymaxCBD =
Note: See TracBrowser for help on using the repository browser.