Beispiel #1
0
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
Beispiel #2
0
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)
Beispiel #3
0
#!/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)