source: anuga_work/production/australia_ph2/esperance/project.py @ 6402

Last change on this file since 6402 was 6402, checked in by myall, 16 years ago

models seem to be working using new scripts. problem with old scripts left over in Ceduna???

File size: 8.5 KB
Line 
1"""
2This file contains all your file and directory definitions
3for elevation, meshes and outputs.
4"""
5
6import os
7from anuga.utilities.system_tools import get_user_name, get_host_name
8from time import localtime, strftime, gmtime
9from os.path import join, exists
10
11
12#-------------------------------------------------------------------------------
13# Directory setup
14#-------------------------------------------------------------------------------
15
16# this section needs to be updated to reflect the modelled community.
17# Note, the user needs to set up the directory system accordingly
18state = 'australia_ph2'
19scenario_name = 'esperance'
20scenario_folder = scenario_name
21
22#-------------------------------------------------------------------------------
23# Initial Conditions
24#-------------------------------------------------------------------------------
25
26# Model specific parameters.
27# One or all can be changed each time the run_model script is executed
28tide = 0                # difference between MSL and HAT
29zone = 51               # specify zone of model
30event_number = 27255    # the event number or the mux file name
31alpha = 0.1             # smoothing parameter for mesh
32friction=0.01           # manning's friction coefficient
33starttime=0             # start time for simulation
34finaltime=1000          # final time for simulation
35
36setup = 'final'         # This can be one of three values
37                        #    trial - coarsest mesh, fast
38                        #    basic - coarse mesh
39                        #    final - fine mesh, slowest
40
41#-------------------------------------------------------------------------------
42# Output filename
43#
44# Your output filename should be unique between different runs on different data.
45# The list of items below will be used to create a file in your output directory.
46# Your user name and time+date will be automatically added.  For example,
47#     [setup, tide, event_number]
48# will result in a filename like
49#     20090212_091046_run_final_0_27283_rwilson
50#-------------------------------------------------------------------------------
51
52output_comment = [setup, tide, event_number]
53
54#-------------------------------------------------------------------------------
55# Input Data
56#-------------------------------------------------------------------------------
57
58# ELEVATION DATA
59# Used in build_elevation.py
60# Format for ascii grids, as produced in ArcGIS + a projection file
61ascii_grid_filenames = [] # 250m grid 2005
62
63# Format for point is x,y,elevation (with header)
64point_filenames = ['grid250m_pts.txt'] # 250m grid 2005
65
66### Add csv header list to all files in point_filenames
67##headerlist = ['x', 'y', 'elevation']
68##for f in point_filenames:
69##    add_csv_header(join(topographies_folder, f), headerlist)
70
71    # BOUNDING POLYGON - for data clipping and estimate of triangles in mesh
72# Used in build_elevation.py
73# Format for points easting,northing (no header)
74bounding_polygon_filename = 'bounding_polygon.csv'
75bounding_polygon_maxarea = 100000
76
77# INTERIOR REGIONS -  for designing the mesh
78# Used in run_model.py
79# Format for points easting,northing (no header)                   
80interior_regions_data = []
81
82# LAND - used to set the initial stage/water to be offcoast only
83# Used in run_model.py.  Format for points easting,northing (no header)
84land_initial_conditions_filename = []
85
86# GAUGES - for creating timeseries at a specific point
87# Used in get_timeseries.py. 
88# Format easting,northing,name,elevation (with header)
89gauges_filename = 'gauges.csv'
90
91# BUILDINGS EXPOSURE - for identifying inundated houses
92# Used in run_building_inundation.py
93# Format latitude,longitude etc (geographic)
94building_exposure_filename = 'busselton_res_clip.csv' # from NEXIS
95
96# BOUNDING POLYGON - used in build_boundary.py and run_model.py respectively
97# NOTE: when files are put together the points must be in sequence
98# For ease go clockwise!
99# Check the run_model.py for boundary_tags
100
101# Thinned ordering file from Hazard Map (geographic)
102# Format is index,latitude,longitude (with header)
103urs_order_filename = 'urs_order_austtg.csv'
104
105# Landward bounding points
106# Format easting,northing (no header)
107landward_boundary_filename = 'landward_boundary.csv'
108
109# MUX input filename.
110# If a meta-file from EventSelection is used, set 'multi-mux' to True.
111# If a single MUX stem filename (*.grd) is used, set 'multi-mux' to False.
112##mux_input_filename = event_number # to be found in event_folder
113                                    # (ie boundaries/event_number/)
114##multi_mux = False
115mux_input_filename = 'event.list'
116multi_mux = True
117
118
119################################################################################
120################################################################################
121####         NOTE: NOTHING WOULD NORMALLY CHANGE BELOW THIS POINT.          ####
122################################################################################
123################################################################################
124
125# Get system user and host names.
126# These values can be used to distinguish between two similar runs by two
127# different users or runs by the same user on two different machines.
128user = get_user_name()
129host = get_host_name()
130
131# Environment variable names.
132# The inundation directory, not the data directory.
133ENV_INUNDATIONHOME = 'INUNDATIONHOME'
134
135# Path to MUX data
136ENV_MUXHOME = 'MUXHOME'
137
138#-------------------------------------------------------------------------------
139# Output Elevation Data
140#-------------------------------------------------------------------------------
141
142# Output filename for elevation
143# this is a combination of all the data generated in build_elevation.py
144combined_elevation_basename = scenario_name + '_combined_elevation'
145
146#-------------------------------------------------------------------------------
147# Directory Structure
148#-------------------------------------------------------------------------------
149
150# determines time for setting up output directories
151time = strftime('%Y%m%d_%H%M%S', localtime()) 
152gtime = strftime('%Y%m%d_%H%M%S', gmtime()) 
153build_time = time + '_build'
154run_time = time + '_run_'
155
156# create paths generated from environment variables.
157home = join(os.getenv(ENV_INUNDATIONHOME), 'data') # Absolute path for data folder
158muxhome = os.getenv(ENV_MUXHOME)
159   
160# check various directories/files that must exist
161anuga_folder = join(home, state, scenario_folder, 'anuga')
162topographies_folder = join(anuga_folder, 'topographies')
163polygons_folder = join(anuga_folder, 'polygons')
164boundaries_folder = join(anuga_folder, 'boundaries')
165output_folder = join(anuga_folder, 'outputs')
166gauges_folder = join(anuga_folder, 'gauges')
167meshes_folder = join(anuga_folder, 'meshes')
168event_folder = join(boundaries_folder, str(event_number))
169
170# MUX data files
171# Directory containing the MUX data files to be used with EventSelection.
172mux_data_folder = join(muxhome, 'mux')
173
174#-------------------------------------------------------------------------------
175# Location of input and output data
176#-------------------------------------------------------------------------------
177
178# Convert the user output_comment to a string for run_model.py
179output_comment = ('_'.join([str(x) for x in output_comment if x != user])
180                  + '_' + user)
181
182# The absolute pathname of the all elevation, generated in build_elevation.py
183combined_elevation = join(topographies_folder, combined_elevation_basename)
184
185# The absolute pathname of the mesh, generated in run_model.py
186meshes = join(meshes_folder, scenario_name) + '.msh'
187
188# The pathname for the urs order points, used within build_urs_boundary.py
189urs_order = join(boundaries_folder, urs_order_filename)
190
191# The absolute pathname for the landward points of the bounding polygon,
192# Used within run_model.py)
193landward_boundary = join(boundaries_folder, landward_boundary_filename)
194
195# The absolute pathname for the .sts file, generated in build_boundary.py
196event_sts = join(event_folder, scenario_name)
197
198# The absolute pathname for the output folder names
199# Used for build_elevation.py
200output_build = join(output_folder, build_time) + '_' + str(user) 
201# Used for run_model.py
202output_run = join(output_folder, run_time) + output_comment
203# Used by post processing
204output_run_time = join(output_run, scenario_name) 
205
206# The absolute pathname for the gauges file
207# Used for get_timeseries.py
208gauges = join(gauges_folder, gauges_filename)       
209
210# The absolute pathname for the building file
211# Used for run_building_inundation.py
212building_exposure = join(gauges_folder, building_exposure_filename)
213
214# full path to where MUX files (or meta-files) live
215mux_input = join(event_folder, mux_input_filename)
216
Note: See TracBrowser for help on using the repository browser.