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
# 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