Example #1
0
def run_scenarios(scenario_dir=SCENARIO_DIR, current_string=CURRENT_STRING,
                  extension='.py', files=None):
    """
    Run all of the the scenario's in the scenario_dir.

    parameters:
      scenario_dir: The path to the directory of scenarios
      current_string: Used in the timing file name
      extension: The last three characters of the scenario files.
      Bad hack to represent the file extension of the scenarios.
      Currently .py or par.

    Write timings and svn info to a file.
    """
    timings = {}
    delimiter = ','
    ofile = 'imp_test_performance.asc'
    fd = open(ofile, 'a')
    fd.write("version" + delimiter +
             "last_check_in_date" + delimiter +
             "modification_status" + delimiter +
             "scenario_file" + delimiter +
             "scenario_time" + "\n")
    files = par_files(scenario_dir, extension=extension, files=files)
    output_dirs = []
    for file in files:
        pull_path = join(scenario_dir, file)
        eqrm_flags = parse_in_parameters.create_parameter_data(pull_path)
        output_dirs.append(join(eqrm_flags['output_dir']))
        print "Running scenario", file
        # Initial time and memory
        t0 = time.clock()

        # Run the scenario
        analysis.main(pull_path, parallel_finalise=False)

        # Run post-processing (if needed)
        if eqrm_flags['save_motion']:
            postprocessing.generate_motion_csv(eqrm_flags['output_dir'],
                                               eqrm_flags['site_tag'],
                                               soil_amp=False)
            if eqrm_flags['use_amplification']:
                postprocessing.generate_motion_csv(eqrm_flags['output_dir'],
                                                   eqrm_flags['site_tag'],
                                                   soil_amp=True)

        root, ext = splitext(file)
        time_taken_sec = (time.clock() - t0)
        timings[root] = time_taken_sec
        version, date, modified = get_version()
        fd.write(str(version) + delimiter +
                 str(date) + delimiter +
                 str(modified) + delimiter +
                 str(file) + delimiter +
                 str(time_taken_sec) + "\n")
    fd.close()
    timings = Scenario_times(timings, current_string=current_string)
    return timings, output_dirs
Example #2
0
# Buildings

# Capacity Spectrum Method

# Loss

# Save
save_hazard_map = True
save_total_financial_loss = False
save_building_loss = False
save_contents_loss = False
save_motion = True
save_prob_structural_damage = None

file_array = False

# If this file is executed the simulation will start.
# Delete all variables that are not EQRM parameters variables. 
if __name__ == '__main__':
    from eqrm_code.analysis import main

    main(locals())
    from eqrm_code import postprocessing
    site_tag = "newc" 
    output_dir = join('.',  'TS_haz03')
    if False:
        postprocessing.generate_motion_csv(output_dir,
                                           site_tag,
                                           soil_amp=False)
#!/usr/bin/env python

"""
Demonstration of using the generate_motion_csv function.

Copyright 2012 by Geoscience Australia

"""

from eqrm_code.postprocessing import generate_motion_csv

params = {'output_dir':     './output',
          'site_tag':       'newc',
          'is_bedrock':     True} 

print 'Running generate_motion_csv with parameters:'
print params

output_filenames = generate_motion_csv(params['output_dir'],
                                       params['site_tag'],
                                       params['is_bedrock'])

print 'Files written:' 
for file in output_filenames:
    print file