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

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

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

File size: 8.3 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
53interior_mesh = 'all' # Can have 'all' or 'none' for Phase 2 study
54
55setup='final'  # Final can be replaced with trial or basic.
56               # Either will result in a coarser mesh that will allow a
57               # faster, but less accurate, simulation.
58
59if setup =='trial':
60    print'trial'
61    res_factor=10
62    time_thinning=48
63    yieldstep=240
64if setup =='basic': 
65    print'basic'
66    res_factor=4
67    time_thinning=12
68    yieldstep=120
69if setup =='final': 
70    print'final'
71    res_factor=1
72    time_thinning=4
73    yieldstep=60
74
75#------------------------------------------------------------------------------
76# Output Filename
77#------------------------------------------------------------------------------
78# Important to distinguish each run - ensure str(user) is included!
79# Note, the user is free to include as many parameters as desired
80dir_comment='_'+setup+'_'+str(tide)+'_'+str(event_number)+'_250m_' + str(interior_mesh) +'_'+str(user)
81
82#------------------------------------------------------------------------------
83# Input Data
84#------------------------------------------------------------------------------
85
86# elevation data used in build_carnarvon.py
87# onshore data: format ascii grid with accompanying projection file
88onshore_name = 'grid_250m_2005' 
89
90# gauges - used in get_timeseries.py
91gauge_name = 'carnarvon.csv'
92gauge_name2 = 'thinned_MGA50.csv'
93
94# BOUNDING POLYGON - used in build_boundary.py and run_carnarvon.py respectively
95# NOTE: when files are put together the points must be in sequence - for ease go clockwise!
96# Check the run_carnarvon.py for boundary_tags
97# thinned ordering file from Hazard Map: format is index,latitude,longitude (with title)
98order_filename = 'thinned_boundary_ordering.txt'
99#landward bounding points
100landward = 'landward_bounding_polygon.txt'
101
102#------------------------------------------------------------------------------
103# Output Elevation Data
104#------------------------------------------------------------------------------
105# Output filename for elevation
106# this is a combination of all the data (utilisied in build_boundary)
107combined_name ='carnarvon_combined_elevation_250m'
108
109#------------------------------------------------------------------------------
110# Directory Structure
111#------------------------------------------------------------------------------
112anuga_dir = home+state+sep+scenario+sep+'anuga'+sep
113topographies_in_dir = home+state+sep+scenario+sep+'elevation_final'+sep+'points'+sep
114topographies_dir = anuga_dir+'topographies'+sep
115polygons_dir = anuga_dir+'polygons'+sep
116tide_dir = anuga_dir+'tide_data'+sep
117boundaries_dir = anuga_dir+'boundaries'+ sep
118output_dir = anuga_dir+'outputs'+sep
119gauges_dir = anuga_dir+'gauges'+sep
120meshes_dir = anuga_dir+'meshes'+sep
121
122#------------------------------------------------------------------------------
123# Location of input and output data
124#------------------------------------------------------------------------------
125# where the input data sits
126onshore_in_dir_name = topographies_in_dir + onshore_name
127
128# where the output data sits
129onshore_dir_name = topographies_dir + onshore_name
130
131# where the combined elevation file sits
132combined_dir_name = topographies_dir + combined_name
133
134# where the mesh sits (this is created during the run_carnarvon.py)
135meshes_dir_name = meshes_dir + scenario_name+ interior_mesh +'.msh'
136
137# where the boundary ordering files sit (this is used within build_boundary.py)
138order_filename_dir = boundaries_dir + order_filename
139
140# where the landward points of boundary extent sit (this is used within run_carnarvon.py)
141landward_dir = boundaries_dir + landward
142
143# where the event sts files sits (this is created during the build_boundary.py)
144boundaries_dir_event = boundaries_dir + str(event_number) + sep
145boundaries_dir_mux = muxhome
146
147# where the directory of the output filename sits
148output_build_time_dir = output_dir+build_time+dir_comment+sep   #used for build_carnarvon.py
149output_run_time_dir = output_dir+run_time+dir_comment+sep       #used for run_carnarvon.py
150output_run_time_dir_name = output_run_time_dir + scenario_name  #Used by post processing
151
152#w here the directory of the gauges sit
153gauges_dir_name = gauges_dir + gauge_name       #used for get_timeseries.py
154gauges_dir_name2 = gauges_dir + gauge_name2     #used for get_timeseries.py
155
156#------------------------------------------------------------------------------
157# Interior region definitions
158#------------------------------------------------------------------------------
159
160#Land, to set the initial stage/water to be offcoast only
161#Land and Ocean to clip data
162poly_mainland=read_polygon(polygons_dir +'land_initial_condition.csv')
163poly_island1=read_polygon(polygons_dir +'land_initial_condition_bernier.csv')
164poly_island2=read_polygon(polygons_dir +'land_initial_condition_dorne.csv')
165poly_ocean=read_polygon(polygons_dir +'ocean_initial_condition.csv')
166
167# Initial bounding polygon for data clipping
168poly_all = read_polygon(polygons_dir+'poly_all.csv')
169res_poly_all = 100000*res_factor
170
171# Area of Interest 1 (carnarvon)
172poly_aoi1 = read_polygon(polygons_dir+'Carnarvon5m.csv')
173res_aoi1 = 500*res_factor
174
175# Area of Significance 1 (carnarvon)
176poly_aos1 = read_polygon(polygons_dir+'Carnarvon10m.csv')
177res_aos1 = 1500*res_factor
178
179# Shallow water 1
180poly_sw1 = read_polygon(polygons_dir+'Carnarvon20m.csv')
181res_sw1 = 25000*res_factor
182
183# Shallow water 2
184poly_sw2 = read_polygon(polygons_dir+'Island20m.csv')
185res_sw2 = 50000*res_factor
186
187
188# Combined all regions, must check that all are included!
189
190if interior_mesh =='all':
191    print'Mesh = all'
192    interior_regions = [[poly_aoi1,res_aoi1],[poly_aos1,res_aos1]
193                     ,[poly_sw1,res_sw1],[poly_sw2,res_sw2]]
194if interior_mesh =='none': 
195    print'Mesh = none'
196    interior_regions = []
197     
198trigs_min = number_mesh_triangles(interior_regions, poly_all, res_poly_all)
199print 'min estimated number of triangles', trigs_min
200   
201#------------------------------------------------------------------------------
202# Clipping regions for export to asc and regions for clipping data
203# Final inundation maps should only be created in regions of the finest mesh
204#------------------------------------------------------------------------------
205
206# carnarvon CBD extract ascii grid
207##xminCBD =
208##xmaxCBD =
209##yminCBD =
210##ymaxCBD =
Note: See TracBrowser for help on using the repository browser.