details = [ detailers.Camera_rot_detailer(min_rot=-87., max_rot=87.), dither_detailer ] ddfs = generate_dd_surveys(nside=nside, nexp=nexp, detailers=details) greedy = gen_greedy_surveys(nside, nexp=nexp) blobs = generate_blobs(nside, nexp=nexp, mixed_pairs=True) surveys = [ddfs, blobs, greedy] scheduler = Core_scheduler(surveys, nside=nside) for obs in observations[0:max_indx]: scheduler.add_observation(obs) observatory = Model_observatory(nside=nside) observatory.mjd = obs['mjd'] _ = observatory.observe(obs) observatory.mjd = obs['mjd'] _ = observatory.observe(obs) conditions = observatory.return_conditions() scheduler.update_conditions(conditions) rewards = [] reward_sizes = [] for survey_list in scheduler.survey_lists: rw = [] rws = [] for survey in survey_list: reward = survey.calc_reward_function(conditions) if np.size(reward) > 1:
extra_info=extra_info, filter_scheduler=filter_sched) if __name__ == "__main__": nside = 32 scheduler = make_scheduler() observatory = Model_observatory(nside=nside) sco = schema_converter() observations = sco.opsim2obs('baseline_nexp1_v1.6_1yrs.db') indx = 64840 - 1 for obs in observations[0:indx]: scheduler.add_observation(obs) observatory.mjd = obs['mjd'] # Observatory starts parked, so need to send an expose command to slew to the correct position temp = observatory.observe(obs) # It took some time to make that slew, so reset the time again observatory.mjd = observations[indx]['mjd'] should_match_obs, new_night = observatory.observe(obs) conditions = observatory.return_conditions() scheduler.update_conditions(conditions) for survey in scheduler.survey_lists[-1]: print(survey.filtername, np.nanmax(survey.calc_reward_function(conditions))) import pdb pdb.set_trace()