def load_burnin_x_temp(cb, x_temp):
    # burnin_id_dict = {2:"8f334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   3:"90334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   4:"91334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   5:"92334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   6:"93334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   7:"94334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   8:"95334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   9:"96334a00-dd2c-e911-a2c5-c4346bcb7273",
    #                   10:"97334a00-dd2c-e911-a2c5-c4346bcb7273"}
    burnin_id_dict = {2:"f80b7373-da2d-e911-a2c5-c4346bcb7273",
                      3:"f90b7373-da2d-e911-a2c5-c4346bcb7273",
                      4:"fa0b7373-da2d-e911-a2c5-c4346bcb7273",
                      5:"fb0b7373-da2d-e911-a2c5-c4346bcb7273",
                      6:"fc0b7373-da2d-e911-a2c5-c4346bcb7273",
                      7:"fd0b7373-da2d-e911-a2c5-c4346bcb7273",
                      8:"fe0b7373-da2d-e911-a2c5-c4346bcb7273",
                      9:"000c7373-da2d-e911-a2c5-c4346bcb7273",
                      10:"010c7373-da2d-e911-a2c5-c4346bcb7273"}

    sim = retrieve_simulation(burnin_id_dict[x_temp])
    serialized_file_path = sim.get_path()

    cb.update_params({
        'Serialized_Population_Path': os.path.join(serialized_file_path, 'output'),
        # 'Serialized_Population_Filenames': ['state-19710.dtk']
        'Serialized_Population_Filenames': ['state-19710-000.dtk', 'state-19710-001.dtk']
    })

    return {"x_temp": x_temp}
Exemple #2
0
    def add_simulation(self, simulation):
        from simtools.DataAccess.Schema import Simulation

        if not isinstance(simulation, Simulation):
            simulation = retrieve_simulation(simulation)

        self.filter_simulations([simulation])
        self.experiments.add(simulation.experiment)
def draw_from_burnin(cb, burnin_sim_id):
    sim = retrieve_simulation(burnin_sim_id)
    serialized_file_path = sim.get_path()

    cb.update_params({
        'Serialized_Population_Path': os.path.join(serialized_file_path, 'output'),
        'Serialized_Population_Filenames': ['state-19710-000.dtk', 'state-19710-001.dtk']
    })
def draw_from_burnin(cb, burnin_sim_id):
    sim = retrieve_simulation(burnin_sim_id)
    serialized_file_path = sim.get_path()

    cb.update_params({
        'Serialized_Population_Path':
        os.path.join(serialized_file_path, 'output'),
        'Serialized_Population_Filenames':
        ['state-{}.dtk'.format(str(time).zfill(5)) for time in [200]]
    })
Exemple #5
0
    def add_simulation(self, simulation):
        from simtools.DataAccess.Schema import Simulation
        if not isinstance(simulation, Simulation):
            simulation = retrieve_simulation(simulation)

        experiment = simulation.experiment

        if experiment.exp_id not in self.experiments_simulations:
            self.experiments_simulations[experiment.exp_id] = [simulation]
        else:
            self.experiments_simulations[experiment.exp_id].append(simulation)
Exemple #6
0
def draw_from_burnin(cb, burnin_sim_id, t, n_cores=2):
    sim = retrieve_simulation(burnin_sim_id)
    serialized_file_path = sim.get_path()

    if n_cores == 1:
        raise NotImplementedError()

    cb.update_params({
        'Serialized_Population_Path':
        os.path.join(serialized_file_path, 'output'),
        'Serialized_Population_Filenames': [
            'state-{}-{}.dtk'.format(str(t).zfill(5),
                                     str(c).zfill(3)) for c in range(n_cores)
        ]
    })
Exemple #7
0
def retrieve_item(itemid):
    """
    Return the object identified by id.
    Can be an experiment, a suite or a batch.
    If it is a suite, all experiments with this suite_id will be returned.
    """
    # First try to get an experiment
    from simtools.Utilities.Experiments import retrieve_experiment
    from simtools.DataAccess.DataStore import DataStore
    from simtools.Utilities.COMPSUtilities import exps_for_suite_id
    from simtools.Utilities.Experiments import retrieve_simulation

    # Try experiments first
    try:
        return retrieve_experiment(itemid)
    except:
        pass

    # This was not an experiment, maybe a batch ?
    batch = DataStore.get_batch_by_id(itemid)
    if batch: return batch

    batch = DataStore.get_batch_by_name(itemid)
    if batch: return batch

    # Still no item found -> test the suites
    exps = DataStore.get_experiments_by_suite(itemid)
    if exps: return exps

    # Still no item found -> test the simulations
    sim = DataStore.get_simulation(itemid)
    if sim: return sim

    # Still not -> last chance is a COMPS suite
    exps = exps_for_suite_id(itemid)
    if exps: return [retrieve_experiment(str(exp.id)) for exp in exps]

    # Nothing, consider COMPS simulation
    try:
        return retrieve_simulation(itemid)
    except:
        pass

    # Didnt find anything sorry
    raise (Exception('Could not find any item corresponding to %s' % itemid))
def collect_experiments_simulations(ids):
    experiments = dict()
    simulations = dict()

    if not ids: return experiments, simulations

    # For each, treat it differently depending on what it is
    for itemid in ids:
        item = retrieve_item(itemid)
        # We got back a list of experiment (itemid was a suite)
        if isinstance(item, list):
            experiments.update({i.exp_id: i for i in item})
        elif isinstance(item, Experiment):
            experiments[item.exp_id] = item
        elif isinstance(item, Simulation):
            simulations[item.id] = item
        elif isinstance(item, Batch):
            # We have to retrieve_experiment even if we already have the experiment object
            # to make sure we are loading the simulations associated with it
            experiments.update({i.exp_id: retrieve_experiment(i.exp_id) for i in item.experiments})
            simulations.update({i.id: retrieve_simulation(i.id) for i in item.simulations})

    return experiments, simulations
            set(sims_this_rd["id"]) & set(available_sims["id"]))
        sims_so_far["sample"] = list(
            set(sims_this_rd["sample"]) & set(available_sims["sample"]))
        rounds_so_far.append(r)
        print(
            "For all rounds included so far: {} -- there are {} sims that fit all criteria."
            .format(rounds_so_far, len(sims_so_far["id"])))

        available_sims = sims_so_far.copy()

    print("Samples : {}".format(available_sims["sample"]))

    if len(available_sims) > 0:
        am = AnalyzeManager()
        for sim_id in available_sims["id"]:
            am.add_simulation(retrieve_simulation(sim_id))

        am.add_analyzer(
            comparison_channel_plotter(
                "Blood Smear Parasite Prevalence",
                filenames=['output/ReportMalariaFilteredCatchment.json'],
                reference_data=prev_ref_data,
                ref_date=ref_date,
                legend=False,
                working_dir=catch_folder,
                save_type="other",
                save_name="excl_prev_test"))

        am.analyze()

        plt.figure()