def init(project):
    """Initialize the data space for the given project."""
    # This object is a dictionary whose keys are environments. Each environment
    # is associated with a list of dictionaries, where each dictionary contains
    # a set of parameters that need to be tested together. For instance
    # bundling and parallelism must exist in the same test. The goal is to
    # construct a minimal covering set of all test cases.
    environments = {
        'environment.StandardEnvironment': [],
        'environments.xsede.CometEnvironment': [{
            'partition': ['compute', 'shared', 'gpu'],
            'walltime': [None, 1],
        }, {
            'partition': ['compute'],
            'parallel': [False, True],
            'bundle': [['mpi_op', 'omp_op']],
        }],
        'environments.xsede.Stampede2Environment': [{
            'partition': ['skx-normal'],
            'walltime': [None, 1],
        }, {
            'partition': ['skx-normal'],
            'parallel': [False, True],
            'bundle': [['mpi_op', 'mpi_op'], ['omp_op', 'omp_op']],
        }],
        'environments.xsede.BridgesEnvironment': [{
            'partition': ['RM', 'RM-Shared', 'GPU', 'GPU-AI'],
            'walltime': [None, 1],
        }, {
            'partition': ['RM'],
            'parallel': [False, True],
            'bundle': [['mpi_op', 'omp_op']],
        }],
        'environments.umich.GreatLakesEnvironment': [{
            'partition': ['standard', 'gpu'],
            'walltime': [None, 1],
        }, {
            'parallel': [False, True],
            'bundle': [['mpi_op', 'omp_op']],
        }],
        'environments.incite.SummitEnvironment': [{
            'walltime': [None, 1],
        }, {
            'parallel': [False, True],
            'bundle': [['mpi_op', 'omp_op']],
        }],
        'environments.umn.MangiEnvironment': [{
            'walltime': [None, 1],
        }, {
            'parallel': [False, True],
            'bundle': [['mpi_op', 'omp_op']],
        }],
    }

    for environment, parameter_combinations in environments.items():
        for parameter_sets in parameter_combinations:
            params = cartesian(**parameter_sets)
            for param in params:
                sp = dict(environment=environment, parameters=param)
                project.open_job(sp).init()
def init(project):
    """Initialize the data space for the given project."""
    # This object is a dictionary whose keys are environments. Each environment
    # is associated with a list of dictionaries, where each dictionary contains
    # a set of parameters that need to be tested together. For instance
    # bundling and parallelism must exist in the same test. The goal is to
    # construct a minimal covering set of all test cases.
    environments = {
        "environment.StandardEnvironment": [],
        "environments.xsede.CometEnvironment": [
            {
                "partition": ["compute", "shared", "gpu"],
                "walltime": [None, 1],
            },
            {
                "partition": ["compute"],
                "parallel": [False, True],
                "bundle": [["mpi_op", "omp_op"]],
            },
        ],
        "environments.xsede.Stampede2Environment": [
            {
                "partition": ["skx-normal"],
                "walltime": [None, 1],
            },
            {
                "partition": ["skx-normal"],
                "parallel": [False, True],
                "bundle": [["mpi_op", "mpi_op"], ["omp_op", "omp_op"]],
            },
        ],
        "environments.xsede.BridgesEnvironment": [
            {
                "partition": ["RM", "RM-Shared", "GPU", "GPU-AI"],
                "walltime": [None, 1],
            },
            {
                "partition": ["RM"],
                "parallel": [False, True],
                "bundle": [["mpi_op", "omp_op"]],
            },
        ],
        "environments.umich.GreatLakesEnvironment": [
            {
                "partition": ["standard", "gpu"],
                "walltime": [None, 1],
            },
            {
                "parallel": [False, True],
                "bundle": [["mpi_op", "omp_op"]],
            },
        ],
        "environments.incite.SummitEnvironment": [
            {
                "walltime": [None, 1],
            },
            {
                "parallel": [False, True],
                "bundle": [["mpi_op", "omp_op"]],
            },
        ],
        "environments.umn.MangiEnvironment": [
            {
                "walltime": [None, 1],
            },
            {
                "parallel": [False, True],
                "bundle": [["mpi_op", "omp_op"]],
            },
        ],
    }

    for environment, parameter_combinations in environments.items():
        for parameter_sets in parameter_combinations:
            params = cartesian(**parameter_sets)
            for param in params:
                sp = dict(environment=environment, parameters=param)
                project.open_job(sp).init()