Changeset 6460


Ignore:
Timestamp:
Mar 5, 2009, 10:20:00 AM (15 years ago)
Author:
kristy
Message:

Changed all files for new wave input

Location:
anuga_work/production/australia_ph2
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • anuga_work/production/australia_ph2/adelaide/project.py

    r6387 r6460  
    3232finaltime=1000         # final time for simulation
    3333
     34# index is only used when wave = Tb
     35index = 1203            # index from the PTHA
     36wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     37
    3438setup = 'trial'         # This can be one of three values
    3539                        #    trial - coarsest mesh, fast
     
    4852#-------------------------------------------------------------------------------
    4953
    50 output_comment = [setup, tide, event_number]
     54output_comment = [setup, tide, event_number, index, wave]
    5155
    5256#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/adelaide/run_model.py

    r6387 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
    49 
     52import prepare_timeboundary as TB
    5053
    5154#-------------------------------------------------------------------------------
     
    6972# Create the STS file
    7073print 'project.mux_data_folder=%s' % project.mux_data_folder
    71 event_sts_path = os.path.join(project.event_folder, project.scenario_name)
    72 if not os.path.exists(event_sts_path + '.sts'):
    73     bub.build_urs_boundary(project.mux_input_filename, event_sts_path)
     74if not os.path.exists(project.event_sts + '.sts'):
     75    bub.build_urs_boundary(project.mux_input_filename, project.event_sts)
    7476
    7577# Read in boundary from ordered sts file
     
    116118print 'Setup initial conditions'
    117119
    118 ### Set the initial stage in the offcoast region only
     120# Set the initial stage in the offcoast region only
    119121if project.land_initial_conditions:
    120122    IC = Polygon_function(project.land_initial_conditions,
     
    123125else:
    124126    IC = 0
    125 
    126127domain.set_quantity('stage', IC, use_cache=True, verbose=True)
    127128domain.set_quantity('friction', project.friction)
     
    138139print 'Set boundary - available tags:', domain.get_boundary_tags()
    139140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    140145Br = Reflective_boundary(domain)
    141146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    142147Bd = Dirichlet_boundary([project.tide, 0, 0])
    143 Bf = Field_boundary(project.event_sts+'.sts',
    144                     domain, mean_stage=project.tide,
    145                     time_thinning=1,
    146                     default_boundary=Bd,
    147                     boundary_polygon=bounding_polygon_sts,                   
    148                     use_cache=True,
    149                     verbose=True)
    150148
    151 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    152158                     'side': Bd,
    153159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    154170
    155171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/broome/project.py

    r6382 r6460  
    3333finaltime=1000          # final time for simulation
    3434
     35# index is only used when wave = Tb
     36index = 1203            # index from the PTHA
     37wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     38
     39
    3540setup = 'trial'         # This can be one of three values
    3641                        #    trial - coarsest mesh, fast
     
    4954#-------------------------------------------------------------------------------
    5055
    51 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5257
    5358#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/broome/run_model.py

    r6382 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/carnarvon/project.py

    r6412 r6460  
    3434finaltime=1000          # final time for simulation
    3535
    36 setup = 'trial'         # This can be one of three values
     36# index is only used when wave = Tb
     37index = 1203            # index from the PTHA
     38wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     39
     40setup = 'final'         # This can be one of three values
    3741                        #    trial - coarsest mesh, fast
    3842                        #    basic - coarse mesh
     
    5054#-------------------------------------------------------------------------------
    5155
    52 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5357
    5458#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/carnarvon/run_model.py

    r6412 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/ceduna/project.py

    r6402 r6460  
    3434finaltime=1000          # final time for simulation
    3535
     36# index is only used when wave = Tb
     37index = 1203            # index from the PTHA
     38wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     39
    3640setup = 'final'         # This can be one of three values
    3741                        #    trial - coarsest mesh, fast
     
    5054#-------------------------------------------------------------------------------
    5155
    52 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5357
    5458#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/ceduna/run_model.py

    r6402 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/dampier/project.py

    r6443 r6460  
    3030zone = 50               # specify zone of model
    3131event_number = 70028    # the event number or the mux file name
    32 index = 1203
    3332alpha = 0.1             # smoothing parameter for mesh
    3433friction=0.01           # manning's friction coefficient
    3534starttime=0             # start time for simulation
    3635finaltime=80000          # final time for simulation
     36
     37# index is only used when wave = Tb
     38index = 1203            # index from the PTHA
     39wave = 'Tb'             # Bf (sts wave) Tb (index wave)
    3740
    3841setup = 'trial'         # This can be one of three values
     
    5255#-------------------------------------------------------------------------------
    5356
    54 output_comment = [setup, tide, event_number]
     57output_comment = [setup, tide, event_number, index, wave]
    5558
    5659#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/esperance/project.py

    r6433 r6460  
    3434finaltime=1000          # final time for simulation
    3535
     36# index is only used when wave = Tb
     37index = 1203            # index from the PTHA
     38wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     39
    3640setup = 'final'         # This can be one of three values
    3741                        #    trial - coarsest mesh, fast
     
    5054#-------------------------------------------------------------------------------
    5155
    52 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5357
    5458#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/esperance/run_model.py

    r6399 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/eucla_motel/project.py

    r6433 r6460  
    3434finaltime=1000          # final time for simulation
    3535
     36# index is only used when wave = Tb
     37index = 1203            # index from the PTHA
     38wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     39
    3640setup = 'final'         # This can be one of three values
    3741                        #    trial - coarsest mesh, fast
     
    5054#-------------------------------------------------------------------------------
    5155
    52 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5357
    5458#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/eucla_motel/run_model.py

    r6399 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/gold_coast/project.py

    r6393 r6460  
    3434finaltime=1000          # final time for simulation
    3535
    36 setup = 'trial'         # This can be one of three values
     36# index is only used when wave = Tb
     37index = 1203            # index from the PTHA
     38wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     39
     40setup = 'final'         # This can be one of three values
    3741                        #    trial - coarsest mesh, fast
    3842                        #    basic - coarse mesh
     
    5054#-------------------------------------------------------------------------------
    5155
    52 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5357
    5458#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/gold_coast/run_model.py

    r6393 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/hobart/project.py

    r6413 r6460  
    3434finaltime=1000          # final time for simulation
    3535
    36 setup = 'trial'         # This can be one of three values
     36# index is only used when wave = Tb
     37index = 1203            # index from the PTHA
     38wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     39
     40setup = 'final'         # This can be one of three values
    3741                        #    trial - coarsest mesh, fast
    3842                        #    basic - coarse mesh
     
    5054#-------------------------------------------------------------------------------
    5155
    52 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5357
    5458#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/hobart/run_model.py

    r6407 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/perth/project.py

    r6429 r6460  
    3434finaltime=1000          # final time for simulation
    3535
    36 setup = 'trial'         # This can be one of three values
     36# index is only used when wave = Tb
     37index = 1203            # index from the PTHA
     38wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     39
     40setup = 'final'         # This can be one of three values
    3741                        #    trial - coarsest mesh, fast
    3842                        #    basic - coarse mesh
     
    5054#-------------------------------------------------------------------------------
    5155
    52 output_comment = [setup, tide, event_number]
     56output_comment = [setup, tide, event_number, index, wave]
    5357
    5458#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/perth/run_model.py

    r6429 r6460  
    3535from anuga.interface import Reflective_boundary
    3636from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3740from anuga.interface import create_sts_boundary
    3841from anuga.interface import csv2building_polygons
     
    4750from setup_model import project
    4851import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4953
    5054#-------------------------------------------------------------------------------
     
    135139print 'Set boundary - available tags:', domain.get_boundary_tags()
    136140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
     144
    137145Br = Reflective_boundary(domain)
    138146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    139147Bd = Dirichlet_boundary([project.tide, 0, 0])
    140 Bf = Field_boundary(project.event_sts+'.sts',
    141                     domain, mean_stage=project.tide,
    142                     time_thinning=1,
    143                     default_boundary=Bd,
    144                     boundary_polygon=bounding_polygon_sts,                   
    145                     use_cache=True,
    146                     verbose=True)
    147148
    148 domain.set_boundary({'back': Br,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
    149158                     'side': Bd,
    150159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
     163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    151170
    152171#-------------------------------------------------------------------------------
  • anuga_work/production/australia_ph2/sydney/project.py

    r6307 r6460  
    1 """Common filenames and locations for elevation, meshes and outputs.
    2 This script is the heart of all scripts in the folder
    31"""
    4 #------------------------------------------------------------------------------
    5 # Import necessary modules
    6 #------------------------------------------------------------------------------
     2This file contains all your file and directory definitions
     3for elevation, meshes and outputs.
     4"""
    75
    86import os
    9 from os.path import join
    10 from os import sep, getenv
     7from anuga.utilities.system_tools import get_user_name, get_host_name
    118from time import localtime, strftime, gmtime
    12 from anuga.utilities.polygon import read_polygon, number_mesh_triangles
    13 from anuga.utilities.system_tools import get_user_name, get_host_name
    14 
    15 #------------------------------------------------------------------------------
     9from os.path import join, exists
     10from os import sep
     11
     12
     13#-------------------------------------------------------------------------------
    1614# Directory setup
    17 #------------------------------------------------------------------------------
    18 # Note: INUNDATIONHOME is the inundation directory, not the data directory.
    19 
    20 home = getenv('INUNDATIONHOME')+sep+'data'+sep # Absolute path for data folder
    21 muxhome = getenv('MUXHOME')
    22 user = get_user_name()
    23 host = get_host_name()
    24 
    25 # determines time for setting up output directories
    26 time = strftime('%Y%m%d_%H%M%S',localtime())
    27 gtime = strftime('%Y%m%d_%H%M%S',gmtime())
    28 build_time = time+'_build'
    29 run_time = time+'_run'
     15#-------------------------------------------------------------------------------
    3016
    3117# this section needs to be updated to reflect the modelled community.
     
    3319state = 'australia_ph2'
    3420scenario_name = 'sydney'
    35 scenario_folder = 'sydney'
    36 
    37 #------------------------------------------------------------------------------
     21scenario_folder = scenario_name
     22
     23#-------------------------------------------------------------------------------
    3824# Initial Conditions
    39 #------------------------------------------------------------------------------
    40 # Model specific parameters. One or all can be changed each time the
    41 # run_scenario script is executed
    42 tide = 0                #0.6
    43 event_number = 7875    # Java 9.3 original
     25#-------------------------------------------------------------------------------
     26
     27# Model specific parameters.
     28# One or all can be changed each time the run_model script is executed
     29tide = 0                # difference between MSL and HAT
     30zone = 50               # specify zone of model
     31event_number = 7875    # the event number or the mux file name
    4432alpha = 0.1             # smoothing parameter for mesh
    4533friction=0.01           # manning's friction coefficient
    46 starttime=0             
    47 finaltime=1000         # final time for simulation
    48 
    49 setup='trial'  # Final can be replaced with trial or basic.
    50                # Either will result in a coarser mesh that will allow a
    51                # faster, but less accurate, simulation.
    52 
    53 if setup =='trial':
    54     print'trial'
    55     scale_factor=100
    56     time_thinning=96
    57     yieldstep=240
    58 if setup =='basic':
    59     print'basic'
    60     scale_factor=4
    61     time_thinning=12
    62     yieldstep=120
    63 if setup =='final':
    64     print'final'
    65     scale_factor=1
    66     time_thinning=4
    67     yieldstep=60
    68 
    69 
    70 #------------------------------------------------------------------------------
    71 # Output Filename
    72 #------------------------------------------------------------------------------
    73 # Important to distinguish each run - ensure str(user) is included!
    74 # Note, the user is free to include as many parameters as desired
    75 output_comment= ('_' + setup + '_' + str(tide)+ '_' + str(event_number) +
    76                  '_' + str(user))
    77 
    78 #------------------------------------------------------------------------------
     34starttime=0             # start time for simulation
     35finaltime=80000          # final time for simulation
     36
     37# index is only used when wave = Tb
     38index = 1203            # index from the PTHA
     39wave = 'Tb'             # Bf (sts wave) Tb (index wave)
     40
     41setup = 'trial'         # This can be one of three values
     42                        #    trial - coarsest mesh, fast
     43                        #    basic - coarse mesh
     44                        #    final - fine mesh, slowest
     45
     46#-------------------------------------------------------------------------------
     47# Output filename
     48#
     49# Your output filename should be unique between different runs on different data.
     50# The list of items below will be used to create a file in your output directory.
     51# Your user name and time+date will be automatically added.  For example,
     52#     [setup, tide, event_number]
     53# will result in a filename like
     54#     20090212_091046_run_final_0_27283_rwilson
     55#-------------------------------------------------------------------------------
     56
     57output_comment = [setup, tide, event_number, index, wave]
     58
     59#-------------------------------------------------------------------------------
    7960# Input Data
    80 #------------------------------------------------------------------------------
     61#-------------------------------------------------------------------------------
     62
    8163# ELEVATION DATA
    82 # Used in build_busselton.py
     64# Used in build_elevation.py
    8365# Format for ascii grids, as produced in ArcGIS + a projection file
    84 #ascii_grid_filenames = ['busselton_v2',   # Topo
    85 #                        'grid_250m_clip'] # Busselton Topo
     66ascii_grid_filenames = [] # 250m grid 2005
    8667
    8768# Format for point is x,y,elevation (with header)
    8869point_filenames = ['sydney_elevation.txt',
    89                    'melbourne_elevation.txt']
    90 
     70                   'melbourne_elevation.txt'] # 250m grid 2005
     71
     72### Add csv header list to all files in point_filenames
     73##headerlist = ['x', 'y', 'elevation']
     74##for f in point_filenames:
     75##    add_csv_header(join(topographies_folder, f), headerlist)
     76
     77    # BOUNDING POLYGON - for data clipping and estimate of triangles in mesh
     78# Used in build_elevation.py
     79# Format for points easting,northing (no header)
     80bounding_polygon_filename = 'bounding_polygon.csv'
     81bounding_polygon_maxarea = 100000
     82
     83# INTERIOR REGIONS -  for designing the mesh
     84# Used in run_model.py
     85# Format for points easting,northing (no header)                   
     86interior_regions_data = []
    9187
    9288# LAND - used to set the initial stage/water to be offcoast only
    93 # Used in run_busselton,py
    94 # Format for points easting,northing (no header)
     89# Used in run_model.py.  Format for points easting,northing (no header)
    9590land_initial_conditions_filename = [['initial_condition_extend.csv', 0]],
    9691                                    ['initial_condition_comerong_island.csv', 0],
     
    9893                                    ['initial_condition_montague_island.csv', 0]]
    9994
    100 # BOUNDING POLYGON - for data clipping and estimate of triangles in mesh
    101 # Used in build_busselton.py
    102 # Format for points easting,northing (no header)
    103 bounding_polygon_filename = 'bounding_polygon.csv'
    104 
    105 # INTERIOR REGIONS -  for designing the mesh
    106 # Used in run_model.py
    107 # Format for points easting,northing (no header)                   
    108 ##interior_regions_data = [['coast_3km_buffer.csv', 50000]]
    109                          
    110 
    111 # BOUNDING POLYGON
    112 # used in build_boundary.py and run_busselton.py respectively
     95# GAUGES - for creating timeseries at a specific point
     96# Used in get_timeseries.py. 
     97# Format easting,northing,name,elevation (with header)
     98gauges_filename = 'gauges.csv'
     99
     100# BUILDINGS EXPOSURE - for identifying inundated houses
     101# Used in run_building_inundation.py
     102# Format latitude,longitude etc (geographic)
     103building_exposure_filename = 'busselton_res_clip.csv' # from NEXIS
     104
     105# BOUNDING POLYGON - used in build_boundary.py and run_model.py respectively
    113106# NOTE: when files are put together the points must be in sequence
    114107# For ease go clockwise!
    115 # Check the run_busselton.py for boundary_tags
     108# Check the run_model.py for boundary_tags
    116109
    117110# Thinned ordering file from Hazard Map (geographic)
    118111# Format is index,latitude,longitude (with header)
    119 urs_order_filename = 'thinned_boundary_ordering_extend.csv'
     112urs_order_filename = 'urs_order.csv'
    120113
    121114# Landward bounding points
    122115# Format easting,northing (no header)
    123 landward_boundary_filename = 'landward_boundary_extend.csv'
    124 
    125 
    126 
    127 
    128 
    129 #------------------------------------------------------------------------------
     116landward_boundary_filename = 'landward_boundary.csv'
     117
     118# MUX input filename.
     119# If a meta-file from EventSelection is used, set 'multi-mux' to True.
     120# If a single MUX stem filename (*.grd) is used, set 'multi-mux' to False.
     121##mux_input_filename = event_number # to be found in event_folder
     122                                    # (ie boundaries/event_number/)
     123##multi_mux = False
     124mux_input_filename = 'event.list'
     125multi_mux = True
     126
     127
     128
     129
     130################################################################################
     131################################################################################
     132####         NOTE: NOTHING WOULD NORMALLY CHANGE BELOW THIS POINT.          ####
     133################################################################################
     134################################################################################
     135
     136# Get system user and host names.
     137# These values can be used to distinguish between two similar runs by two
     138# different users or runs by the same user on two different machines.
     139user = get_user_name()
     140host = get_host_name()
     141
     142# Environment variable names.
     143# The inundation directory, not the data directory.
     144ENV_INUNDATIONHOME = 'INUNDATIONHOME'
     145
     146# Path to MUX data
     147ENV_MUXHOME = 'MUXHOME'
     148
     149#-------------------------------------------------------------------------------
    130150# Output Elevation Data
    131 #------------------------------------------------------------------------------
     151#-------------------------------------------------------------------------------
     152
    132153# Output filename for elevation
    133 # this is a combination of all the data generated in build_busselton.py
     154# this is a combination of all the data generated in build_elevation.py
    134155combined_elevation_basename = scenario_name + '_combined_elevation'
    135156
    136 #------------------------------------------------------------------------------
     157#-------------------------------------------------------------------------------
    137158# Directory Structure
    138 #------------------------------------------------------------------------------
     159#-------------------------------------------------------------------------------
     160
     161# determines time for setting up output directories
     162time = strftime('%Y%m%d_%H%M%S', localtime())
     163gtime = strftime('%Y%m%d_%H%M%S', gmtime())
     164build_time = time + '_build'
     165run_time = time + '_run_'
     166
     167# create paths generated from environment variables.
     168home = join(os.getenv(ENV_INUNDATIONHOME), 'data') # Absolute path for data folder
     169muxhome = os.getenv(ENV_MUXHOME)
     170   
     171# check various directories/files that must exist
    139172anuga_folder = join(home, state, scenario_folder, 'anuga')
    140173topographies_folder = join(anuga_folder, 'topographies')
     
    142175boundaries_folder = join(anuga_folder, 'boundaries')
    143176output_folder = join(anuga_folder, 'outputs')
    144 gauges_folder = join(anuga_folder,'gauges')
     177gauges_folder = join(anuga_folder, 'gauges')
    145178meshes_folder = join(anuga_folder, 'meshes')
    146 
    147 #------------------------------------------------------------------------------
     179event_folder = join(boundaries_folder, str(event_number))
     180
     181# MUX data files
     182# Directory containing the MUX data files to be used with EventSelection.
     183mux_data_folder = join(muxhome, 'mux')
     184
     185#-------------------------------------------------------------------------------
    148186# Location of input and output data
    149 #------------------------------------------------------------------------------
    150 
    151 # The absolute pathname of the all elevation, generated in build_busselton.py
     187#-------------------------------------------------------------------------------
     188
     189# Convert the user output_comment to a string for run_model.py
     190output_comment = ('_'.join([str(x) for x in output_comment if x != user])
     191                  + '_' + user)
     192
     193# The absolute pathname of the all elevation, generated in build_elevation.py
    152194combined_elevation = join(topographies_folder, combined_elevation_basename)
    153195
    154 # The absolute pathname of the mesh, generated in run_busselton.py
    155 meshes = meshes_folder + sep + scenario_name + '.msh'
    156 
    157 # The absolute pathname for the urs order points, used within build_boundary.py
     196# The absolute pathname of the mesh, generated in run_model.py
     197meshes = join(meshes_folder, scenario_name) + '.msh'
     198
     199# The pathname for the urs order points, used within build_urs_boundary.py
    158200urs_order = join(boundaries_folder, urs_order_filename)
    159201
    160202# The absolute pathname for the landward points of the bounding polygon,
    161 # Used within run_busselton.py)
     203# Used within run_model.py)
    162204landward_boundary = join(boundaries_folder, landward_boundary_filename)
    163205
    164206# The absolute pathname for the .sts file, generated in build_boundary.py
    165 event_sts = join(boundaries_folder, str(event_number))
     207event_sts = join(event_folder, scenario_name)
    166208
    167209# The absolute pathname for the output folder names
    168 # Used for build_busselton.py
    169 output_build = output_folder + sep + build_time + '_' + str(user)
    170 # Used for run_busselton.py
    171 output_run = output_folder + sep + run_time + output_comment
     210# Used for build_elevation.py
     211output_build = join(output_folder, build_time) + '_' + str(user)
     212# Used for run_model.py
     213output_run = join(output_folder, run_time) + output_comment
    172214# Used by post processing
    173215output_run_time = join(output_run, scenario_name)
    174216
    175 
    176 #------------------------------------------------------------------------------
    177 # Reading polygons and creating interior regions
    178 #------------------------------------------------------------------------------
    179 
    180 # Create list of land polygons with initial conditions
    181 land_initial_conditions = []
    182 for filename, MSL in land_initial_conditions_filename:
    183     polygon = read_polygon(join(polygons_folder, filename))
    184     land_initial_conditions.append([filename, MSL])
    185 
    186 ### Create list of interior polygons with scaling factor
    187 interior_regions = []
    188 ##for filename, maxarea in interior_regions_data:
    189 ##    polygon = read_polygon(join(polygons_folder, filename))
    190 ##    interior_regions.append([polygon, maxarea*scale_factor])
    191 
    192 # Initial bounding polygon for data clipping
    193 bounding_polygon = read_polygon(join(polygons_folder,
    194                                      bounding_polygon_filename))
    195 bounding_maxarea = 125000*scale_factor
    196 
    197 # Estimate the number of triangles                     
    198 trigs_min = number_mesh_triangles(interior_regions,
    199                                   bounding_polygon, bounding_maxarea)
    200 print 'min estimated number of triangles', trigs_min
    201    
    202 
     217# The absolute pathname for the gauges file
     218# Used for get_timeseries.py
     219gauges = join(gauges_folder, gauges_filename)       
     220
     221# The absolute pathname for the building file
     222# Used for run_building_inundation.py
     223building_exposure = join(gauges_folder, building_exposure_filename)
     224
     225# full path to where MUX files (or meta-files) live
     226mux_input = join(event_folder, mux_input_filename)
     227
     228boundary_csv = event_folder + sep + 'sts_gauge_' + str(index) +'.csv'
  • anuga_work/production/australia_ph2/sydney/run_model.py

    r6307 r6460  
    1 """Run a tsunami inundation scenario for sydney region, NSW, Australia.
     1"""Run a tsunami inundation scenario for Busselton, WA, Australia.
    22
    33The scenario is defined by a triangular mesh created from project.polygon, the
    4 elevation data is compiled into a pts file through build_sydney.py and a
     4elevation data is compiled into a pts file through build_elevation.py and a
    55simulated tsunami is generated through an sts file from build_boundary.py.
    66
    77Input: sts file (build_boundary.py for respective event)
    8        pts file (build_sydney.py)
     8       pts file (build_elevation.py)
    99       information from project file
    1010Outputs: sww file stored in project.output_run_time_dir
     
    2222# Standard modules
    2323import os
     24import os.path
    2425import time
     26from time import localtime, strftime, gmtime
    2527
    2628# Related major packages
     29from Scientific.IO.NetCDF import NetCDFFile
     30import Numeric as num
     31
    2732from anuga.interface import create_domain_from_regions
    2833from anuga.interface import Transmissive_stage_zero_momentum_boundary
     
    3035from anuga.interface import Reflective_boundary
    3136from anuga.interface import Field_boundary
     37from anuga.interface import Time_boundary
     38from anuga.interface import file_function
     39
    3240from anuga.interface import create_sts_boundary
    3341from anuga.interface import csv2building_polygons
     
    3644from anuga.shallow_water.data_manager import start_screen_catcher
    3745from anuga.shallow_water.data_manager import copy_code_files
     46from anuga.shallow_water.data_manager import urs2sts
    3847from anuga.utilities.polygon import read_polygon, Polygon_function
    39    
     48
    4049# Application specific imports
    41 import project  # Definition of file names and polygons
     50from setup_model import project
     51import build_urs_boundary as bub
     52import prepare_timeboundary as TB
    4253
     54#-------------------------------------------------------------------------------
     55# Copy scripts to time stamped output directory and capture screen
     56# output to file. Copy script must be before screen_catcher
     57#-------------------------------------------------------------------------------
    4358
    44 #------------------------------------------------------------------------------
    45 # Copy scripts to time stamped output directory and capture screen
    46 # output to file. Copy script must be before screen_catcher.
    47 #------------------------------------------------------------------------------
    4859copy_code_files(project.output_run, __file__,
    49                 os.path.dirname(project.__file__)+os.sep+\
    50                 project.__name__+'.py' )
     60                os.path.join(os.path.dirname(project.__file__),
     61                             project.__name__+'.py'))
    5162start_screen_catcher(project.output_run, 0, 1)
    5263
    53 
    54 #------------------------------------------------------------------------------
     64#-------------------------------------------------------------------------------
    5565# Create the computational domain based on overall clipping polygon with
    5666# a tagged boundary and interior regions defined in project.py along with
    57 # resolutions (maximal area of per triangle) for each polygon.
    58 #------------------------------------------------------------------------------
     67# resolutions (maximal area of per triangle) for each polygon
     68#-------------------------------------------------------------------------------
     69
    5970print 'Create computational domain'
     71
     72# Create the STS file
     73print 'project.mux_data_folder=%s' % project.mux_data_folder
     74if not os.path.exists(project.event_sts + '.sts'):
     75    bub.build_urs_boundary(project.mux_input_filename, project.event_sts)
    6076
    6177# Read in boundary from ordered sts file
     
    6379
    6480# Reading the landward defined points, this incorporates the original clipping
    65 # polygon minus the 100m contour.
     81# polygon minus the 100m contour
    6682landward_boundary = read_polygon(project.landward_boundary)
    6783
     
    7086
    7187# Number of boundary segments
    72 N = len(event_sts)-1
     88num_ocean_segments = len(event_sts) - 1
    7389# Number of landward_boundary points
    74 M = file_length(project.landward_boundary)
     90num_land_points = file_length(project.landward_boundary)
    7591
    7692# Boundary tags refer to project.landward_boundary
    7793# 4 points equals 5 segments start at N
    78 boundary_tags={'back': range(N+1,N+M),
    79                'side': [N,N+M],
    80                'ocean': range(N)}
     94boundary_tags={'back': range(num_ocean_segments+1,
     95                             num_ocean_segments+num_land_points),
     96               'side': [num_ocean_segments,
     97                        num_ocean_segments+num_land_points],
     98               'ocean': range(num_ocean_segments)}
    8199
    82100# Build mesh and domain
     
    94112domain.set_minimum_storable_height(0.01)    # Don't store depth less than 1cm
    95113
     114#-------------------------------------------------------------------------------
     115# Setup initial conditions
     116#-------------------------------------------------------------------------------
    96117
    97 #------------------------------------------------------------------------------
    98 # Setup initial conditions
    99 #------------------------------------------------------------------------------
    100118print 'Setup initial conditions'
    101119
    102120# Set the initial stage in the offcoast region only
    103 IC = Polygon_function(project.land_initial_conditions,
    104                       default=project.tide,
    105                       geo_reference=domain.geo_reference)
     121if project.land_initial_conditions:
     122    IC = Polygon_function(project.land_initial_conditions,
     123                          default=project.tide,
     124                          geo_reference=domain.geo_reference)
     125else:
     126    IC = 0
    106127domain.set_quantity('stage', IC, use_cache=True, verbose=True)
    107128domain.set_quantity('friction', project.friction)
    108129domain.set_quantity('elevation',
    109130                    filename=project.combined_elevation+'.pts',
    110                     use_cache=False,
     131                    use_cache=True,
    111132                    verbose=True,
    112133                    alpha=project.alpha)
    113134
     135#-------------------------------------------------------------------------------
     136# Setup boundary conditions
     137#-------------------------------------------------------------------------------
    114138
    115 #------------------------------------------------------------------------------
    116 # Setup boundary conditions
    117 #------------------------------------------------------------------------------
    118139print 'Set boundary - available tags:', domain.get_boundary_tags()
     140
     141# Prepare time boundary
     142TB.prepare_timeboundary(project.boundary_csv)
     143f = file_function(project.boundary_csv[:-4] + '.tms')
    119144
    120145Br = Reflective_boundary(domain)
    121146Bt = Transmissive_stage_zero_momentum_boundary(domain)
    122 Bf = Field_boundary(project.event_sts+'.sts',
    123                     domain, mean_stage=project.tide,
    124                     time_thinning=1,
    125                     default_boundary=Bd,
    126                     boundary_polygon=bounding_polygon_sts,                   
    127                     use_cache=True,
    128                     verbose=True)
     147Bd = Dirichlet_boundary([project.tide, 0, 0])
    129148
    130 domain.set_boundary({'back': Br,
    131                      'side': Bt,
     149if project.wave == 'Bf':
     150    Bf = Field_boundary(project.event_sts+'.sts',
     151                        domain, mean_stage=project.tide,
     152                        time_thinning=1,
     153                        default_boundary=Bd,
     154                        boundary_polygon=bounding_polygon_sts,                   
     155                        use_cache=True,
     156                        verbose=True)
     157    domain.set_boundary({'back': Br,
     158                     'side': Bd,
    132159                     'ocean': Bf})
     160   
     161elif project.wave == 'Tb':
     162    Tb = Time_boundary(domain,f,default_boundary=Bd )
    133163
     164    domain.set_boundary({'back': Br,
     165                         'side': Bd,
     166                         'ocean': Tb})
     167else:
     168    print 'No wave specified in project script (Bf or Tb)'
     169   
    134170
    135 #------------------------------------------------------------------------------
     171#-------------------------------------------------------------------------------
    136172# Evolve system through time
    137 #------------------------------------------------------------------------------
     173#-------------------------------------------------------------------------------
     174
    138175t0 = time.time()
    139176for t in domain.evolve(yieldstep=project.yieldstep,
     
    143180    print domain.boundary_statistics(tags='ocean')
    144181
    145 print 'Simulation took %.2f seconds' %(time.time()-t0)
     182print 'Simulation took %.2f seconds' % (time.time()-t0)
Note: See TracChangeset for help on using the changeset viewer.