def simulate_batch(set_num, timesteps, **kwargs): """ Run a batch of simulations for the given set. Parameters ---------- set_num : int The set number timesteps : int Maximum number of timesteps to run the simulations kwargs Additional arguments to pass to atn_batch_simulator() Returns ------- int The new batch number """ set_dir = util.find_set_dir(set_num) if set_dir is None: raise RuntimeError("No directory found for set {}".format(set_num)) batch_num, batch_dir = util.create_batch_dir(set_num) # Generate node config file metaparameter_file = os.path.join(set_dir, 'metaparameters.json') node_config_file = os.path.join(batch_dir, 'node-configs.txt') with open(node_config_file, 'w') as f: for node_config in nodeconfigs.generate_node_configs_from_metaparameter_file(metaparameter_file): print(node_config, file=f) output_dir = os.path.join(batch_dir, 'biomass-data') os.mkdir(output_dir) atn_batch_simulator(timesteps, node_config_file, output_dir, **kwargs) return batch_num
def simulate_batch(set_num, timesteps): """ Run a batch of simulations for the given set. Parameters ---------- set_num : int The set number timesteps Number of timesteps to run the simulations """ set_dir = util.find_set_dir(set_num) if set_dir is None: raise RuntimeError("No directory found for set {}".format(set_num)) batch_num, batch_dir = util.create_batch_dir(set_num) # Generate node config file metaparameter_file = os.path.join(set_dir, 'metaparameters.json') node_config_file = os.path.join(batch_dir, 'node-configs.txt') with open(node_config_file, 'w') as f: for node_config in nodeconfigs.generate_node_configs_from_metaparameter_file(metaparameter_file): print(node_config, file=f) output_dir = os.path.join(batch_dir, 'biomass-data') os.mkdir(output_dir) atn_engine_batch_runner(timesteps, node_config_file, output_dir=output_dir)
#!/usr/bin/env python3 """ Runs the node config generator with the given metaparameter JSON file. """ import sys import argparse from atntools import nodeconfigs parser = argparse.ArgumentParser(description=globals()['__doc__']) parser.add_argument('metaparameter_file', help="metaparameter JSON file") parser.add_argument('output_file', help="output file") parser.add_argument('-w', '--food-web-file', help="food web JSON file; overrides node IDs in metaparameter file") args = parser.parse_args() generator = nodeconfigs.generate_node_configs_from_metaparameter_file(args.metaparameter_file, args.food_web_file) if generator is None: print("Error processing metaparameter file", file=sys.stderr) sys.exit(1) with open(args.output_file, 'w') as f: for node_config in generator: print(node_config, file=f)