def createWidgets(self): self.n = ttk.Notebook(self) self.n.grid(column=0, row=0) self.daily_frame = ttk.Frame(self.n) self.postseason_frame = ttk.Frame(self.n) self.init_frame = ttk.Frame(self.n) # Begin "daily tasks" page in the notebook self.label2 = ttk.Label(self.daily_frame) self.label2["text"] = "load dead birds from file(s):\n" self.label2.grid(column=0, row=0, columnspan=7, sticky=(W)) self.load_birds_entry = ttk.Entry(self.daily_frame) self.load_birds_entry.grid(column=0, row=1, columnspan=4, sticky=(E, W)) self.bird_file_button = ttk.Button(self.daily_frame) self.bird_file_button["text"] = "select files" self.bird_file_button["command"] = self.set_bird_file self.bird_file_button.grid(column=6, row=1) self.load_birds_button = ttk.Button(self.daily_frame) self.load_birds_button["text"] = "load birds" self.load_birds_button["command"] = self.load_birds self.load_birds_button.grid(column=7, row=1) self.sep1 = ttk.Separator(self.daily_frame) self.sep1.grid(column=0, row=2, columnspan=8, sticky=(N, S, E, W), ipadx=40) self.label3 = ttk.Label(self.daily_frame) self.label3[ "text"] = "generate daily risk for the following date(s): (in YYYY-MM-DD format)\n" self.label3.grid(column=0, row=3, columnspan=7, sticky=(W, S)) self.label_entry1 = ttk.Label(self.daily_frame) self.label_entry1["text"] = "start date:" self.label_entry1.grid(column=0, row=4) self.daily_risk_entry1 = ttk.Entry(self.daily_frame) self.daily_risk_entry1.insert( 0, datetime.date.today().strftime("%Y-%m-%d")) self.daily_risk_entry1.grid(column=1, row=4, sticky=(W, S)) self.label_entry2 = ttk.Label(self.daily_frame) self.label_entry2["text"] = "end date:" self.label_entry2.grid(column=2, row=4) self.daily_risk_entry2 = ttk.Entry(self.daily_frame) self.daily_risk_entry2.insert( 0, datetime.date.today().strftime("%Y-%m-%d")) self.daily_risk_entry2.grid(column=3, row=4, sticky=(W, S)) self.daily_risk_button = ttk.Button(self.daily_frame) self.daily_risk_button["text"] = "run risk" self.daily_risk_button["command"] = self.run_daily_risk self.daily_risk_button.grid(column=7, row=4) self.daily_risk_params_frame = ttk.Frame(self.daily_frame) self.daily_risk_cs_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_cs_label["text"] = "closeness in space (miles):" self.daily_risk_cs_label.grid(column=0, row=50, sticky=(E)) self.daily_risk_cs_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_cs_entry.insert(0, dycast.get_default_parameters()[0]) self.daily_risk_cs_entry.grid(column=1, row=50) self.daily_risk_ct_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_ct_label["text"] = "closeness in time (days):" self.daily_risk_ct_label.grid(column=2, row=50, sticky=(E)) self.daily_risk_ct_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_ct_entry.insert(0, dycast.get_default_parameters()[1]) self.daily_risk_ct_entry.grid(column=3, row=50) self.daily_risk_sd_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_sd_label["text"] = "spatial domain (miles):" self.daily_risk_sd_label.grid(column=4, row=50, sticky=(E)) self.daily_risk_sd_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_sd_entry.insert(0, dycast.get_default_parameters()[2]) self.daily_risk_sd_entry.grid(column=5, row=50) self.daily_risk_td_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_td_label["text"] = "temporal domain (days):" self.daily_risk_td_label.grid(column=6, row=50, sticky=(E)) self.daily_risk_td_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_td_entry.insert(0, dycast.get_default_parameters()[3]) self.daily_risk_td_entry.grid(column=7, row=50) self.daily_risk_params_frame.grid(column=0, row=50, columnspan=8) self.sep2 = ttk.Separator(self.daily_frame) self.sep2.grid(column=0, row=60, columnspan=8, sticky=(N, S, E, W), ipadx=40) self.label3 = ttk.Label(self.daily_frame) self.label3[ "text"] = "export daily risk for the following date(s): (in YYYY-MM-DD format)\n" self.label3.grid(column=0, row=70, columnspan=7, sticky=(W, S)) self.label_export_dir_entry = ttk.Label(self.daily_frame) self.label_export_dir_entry["text"] = "export directory:" self.label_export_dir_entry.grid(column=0, row=80) self.export_dir_entry = ttk.Entry(self.daily_frame) self.export_dir_entry.grid(column=1, row=80, columnspan=6, sticky=(E, W)) self.browse_export_dir_button = ttk.Button(self.daily_frame) self.browse_export_dir_button["text"] = "browse" self.browse_export_dir_button["command"] = self.set_export_dir self.browse_export_dir_button.grid(column=7, row=80) self.label_entry1 = ttk.Label(self.daily_frame) self.label_entry1["text"] = "start date:" self.label_entry1.grid(column=0, row=90) self.export_risk_entry1 = ttk.Entry(self.daily_frame) self.export_risk_entry1.insert( 0, datetime.date.today().strftime("%Y-%m-%d")) self.export_risk_entry1.grid(column=1, row=90, sticky=(W, S)) self.label_entry2 = ttk.Label(self.daily_frame) self.label_entry2["text"] = "end date:" self.label_entry2.grid(column=2, row=90) self.export_risk_entry2 = ttk.Entry(self.daily_frame) self.export_risk_entry2.insert( 0, datetime.date.today().strftime("%Y-%m-%d")) self.export_risk_entry2.grid(column=3, row=90, sticky=(W, S)) self.export_risk_button = ttk.Button(self.daily_frame) self.export_risk_button["text"] = "export" self.export_risk_button["command"] = self.run_export_risk self.export_risk_button.grid(column=7, row=90) # Begin "postseason" page in the notebook self.postseason_frame.grid(column=0, row=0, columnspan=7, sticky=(E, W)) self.label_kappa = ttk.Label(self.postseason_frame) self.label_kappa["text"] = "Kappa analysis:\n" self.label_kappa.grid(column=0, row=0) self.kappa_window_start_label = ttk.Label(self.postseason_frame) self.kappa_window_start_label["text"] = "window start:" self.kappa_window_start_label.grid(column=0, row=1, sticky=(E)) self.kappa_window_start_entry = ttk.Entry(self.postseason_frame) self.kappa_window_start_entry.grid(column=1, row=1) self.kappa_window_end_label = ttk.Label(self.postseason_frame) self.kappa_window_end_label["text"] = "window end:" self.kappa_window_end_label.grid(column=2, row=1, sticky=(E)) self.kappa_window_end_entry = ttk.Entry(self.postseason_frame) self.kappa_window_end_entry.grid(column=3, row=1) self.kappa_window_step_label = ttk.Label(self.postseason_frame) self.kappa_window_step_label["text"] = "window step:" self.kappa_window_step_label.grid(column=4, row=1, sticky=(E)) self.kappa_window_step_entry = ttk.Entry(self.postseason_frame) self.kappa_window_step_entry.grid(column=5, row=1) self.kappa_lag_start_label = ttk.Label(self.postseason_frame) self.kappa_lag_start_label["text"] = "lag start:" self.kappa_lag_start_label.grid(column=0, row=2, sticky=(E)) self.kappa_lag_start_entry = ttk.Entry(self.postseason_frame) self.kappa_lag_start_entry.grid(column=1, row=2) self.kappa_lag_end_label = ttk.Label(self.postseason_frame) self.kappa_lag_end_label["text"] = "lag end:" self.kappa_lag_end_label.grid(column=2, row=2, sticky=(E)) self.kappa_lag_end_entry = ttk.Entry(self.postseason_frame) self.kappa_lag_end_entry.grid(column=3, row=2) self.kappa_lag_step_label = ttk.Label(self.postseason_frame) self.kappa_lag_step_label["text"] = "lag step:" self.kappa_lag_step_label.grid(column=4, row=2, sticky=(E)) self.kappa_lag_step_entry = ttk.Entry(self.postseason_frame) self.kappa_lag_step_entry.grid(column=5, row=2) self.kappa_startdate_label = ttk.Label(self.postseason_frame) self.kappa_startdate_label["text"] = "start date:" self.kappa_startdate_label.grid(column=0, row=3, sticky=(E)) self.kappa_startdate_entry = ttk.Entry(self.postseason_frame) self.kappa_startdate_entry.insert( 0, datetime.date.today().strftime("%Y-%m-%d")) self.kappa_startdate_entry.grid(column=1, row=3) self.kappa_enddate_label = ttk.Label(self.postseason_frame) self.kappa_enddate_label["text"] = "end date:" self.kappa_enddate_label.grid(column=2, row=3, sticky=(E)) self.kappa_enddate_entry = ttk.Entry(self.postseason_frame) self.kappa_enddate_entry.insert( 0, datetime.date.today().strftime("%Y-%m-%d")) self.kappa_enddate_entry.grid(column=3, row=3) self.kappa_export_dir_label = ttk.Label(self.postseason_frame) self.kappa_export_dir_label["text"] = "export directory:" self.kappa_export_dir_label.grid(column=0, row=4, sticky=(E)) self.kappa_export_dir_entry = ttk.Entry(self.postseason_frame) self.kappa_export_dir_entry.grid(column=1, row=4, columnspan=5, sticky=(E, W)) self.kappa_export_dir_button = ttk.Button(self.postseason_frame) self.kappa_export_dir_button["text"] = "browse" self.kappa_export_dir_button["command"] = self.set_kappa_export_dir self.kappa_export_dir_button.grid(column=6, row=4) self.kappa_export_file_label = ttk.Label(self.postseason_frame) self.kappa_export_file_label["text"] = "export filename:" self.kappa_export_file_label.grid(column=0, row=5, sticky=(E)) self.kappa_export_file_entry = ttk.Entry(self.postseason_frame) self.kappa_export_file_entry.insert(0, "kappa.tsv") self.kappa_export_file_entry.grid(column=1, row=5) self.kappa_button = ttk.Button(self.postseason_frame) self.kappa_button["text"] = "run kappa" self.kappa_button["command"] = self.run_kappa self.kappa_button.grid(column=6, row=5) # Begin "initialization" page in the notebook self.init_frame.grid(column=0, row=0, columnspan=7, sticky=(E, W)) self.init_frame.columnconfigure(1, weight=1) self.init_frame.columnconfigure(2, weight=2) self.init_frame.columnconfigure(3, weight=1) self.label_nmcm = ttk.Label(self.init_frame) self.label_nmcm["text"] = "Monte Carlo simulations:\n" self.label_nmcm.grid(column=0, row=0) self.nmcm_close_space_label = ttk.Label(self.init_frame) self.nmcm_close_space_label["text"] = "closeness in space (miles):" self.nmcm_close_space_label.grid(column=0, row=1, sticky=(E)) self.nmcm_close_space_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_close_space_entry.insert(0, dycast.get_default_parameters()[0]) self.nmcm_close_space_entry.grid(column=1, row=1) self.nmcm_close_time_label = ttk.Label(self.init_frame) self.nmcm_close_time_label["text"] = "closeness in time (days):" self.nmcm_close_time_label.grid(column=2, row=1, sticky=(E)) self.nmcm_close_time_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_close_time_entry.insert(0, dycast.get_default_parameters()[1]) self.nmcm_close_time_entry.grid(column=3, row=1) self.nmcm_spatial_domain_label = ttk.Label(self.init_frame) self.nmcm_spatial_domain_label["text"] = "spatial domain (miles):" self.nmcm_spatial_domain_label.grid(column=4, row=1, sticky=(E)) self.nmcm_spatial_domain_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_spatial_domain_entry.insert( 0, dycast.get_default_parameters()[2]) self.nmcm_spatial_domain_entry.grid(column=5, row=1) self.nmcm_temporal_domain_label = ttk.Label(self.init_frame) self.nmcm_temporal_domain_label["text"] = "temporal domain (days):" self.nmcm_temporal_domain_label.grid(column=6, row=1, sticky=(E)) self.nmcm_temporal_domain_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_temporal_domain_entry.insert( 0, dycast.get_default_parameters()[3]) self.nmcm_temporal_domain_entry.grid(column=7, row=1) self.nmcm_start_number_label = ttk.Label(self.init_frame) self.nmcm_start_number_label["text"] = "starting number of birds:" self.nmcm_start_number_label.grid(column=0, row=2, sticky=(E)) self.nmcm_start_number_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_start_number_entry.insert(0, dycast.get_default_threshold()) self.nmcm_start_number_entry.grid(column=1, row=2) self.nmcm_end_number_label = ttk.Label(self.init_frame) self.nmcm_end_number_label["text"] = "ending number of birds:" self.nmcm_end_number_label.grid(column=2, row=2, sticky=(E)) self.nmcm_end_number_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_end_number_entry.insert(0, "100") self.nmcm_end_number_entry.grid(column=3, row=2) self.nmcm_button = ttk.Button(self.init_frame) self.nmcm_button["text"] = "run simulation" self.nmcm_button["command"] = self.run_nmcm self.nmcm_button.grid(column=8, row=2) self.sep20 = ttk.Separator(self.init_frame) self.sep20.grid(column=0, row=5, columnspan=9, sticky=(N, S, E, W), ipadx=40) self.nmcm_load_label = ttk.Label(self.init_frame) self.nmcm_load_label[ "text"] = "Load precalculated Monte Carlo results:" self.nmcm_load_label.grid(column=0, row=6, columnspan=7, sticky=(W, S)) self.nmcm_load_cs_label = ttk.Label(self.init_frame) self.nmcm_load_cs_label["text"] = "closeness in space (miles):" self.nmcm_load_cs_label.grid(column=0, row=7, sticky=(E)) self.nmcm_load_cs_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_cs_entry.insert(0, dycast.get_default_parameters()[0]) self.nmcm_load_cs_entry.grid(column=1, row=7) self.nmcm_load_ct_label = ttk.Label(self.init_frame) self.nmcm_load_ct_label["text"] = "closeness in time (days):" self.nmcm_load_ct_label.grid(column=2, row=7, sticky=(E)) self.nmcm_load_ct_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_ct_entry.insert(0, dycast.get_default_parameters()[1]) self.nmcm_load_ct_entry.grid(column=3, row=7) self.nmcm_load_sd_label = ttk.Label(self.init_frame) self.nmcm_load_sd_label["text"] = "spatial domain (miles):" self.nmcm_load_sd_label.grid(column=4, row=7, sticky=(E)) self.nmcm_load_sd_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_sd_entry.insert(0, dycast.get_default_parameters()[2]) self.nmcm_load_sd_entry.grid(column=5, row=7) self.nmcm_load_td_label = ttk.Label(self.init_frame) self.nmcm_load_td_label["text"] = "temporal domain (days):" self.nmcm_load_td_label.grid(column=6, row=7, sticky=(E)) self.nmcm_load_td_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_td_entry.insert(0, dycast.get_default_parameters()[3]) self.nmcm_load_td_entry.grid(column=7, row=7) self.nmcm_load_file_label = ttk.Label(self.init_frame) self.nmcm_load_file_label["text"] = "filename:" self.nmcm_load_file_label.grid(column=0, row=90) self.nmcm_load_file_entry = ttk.Entry(self.init_frame) self.nmcm_load_file_entry.grid(column=1, row=90, columnspan=7, sticky=(E, W)) self.nmcm_load_file_button = ttk.Button(self.init_frame) self.nmcm_load_file_button["text"] = "browse" self.nmcm_load_file_button["command"] = self.set_nmcm_import_file self.nmcm_load_file_button.grid(column=8, row=90) self.nmcm_load_button = ttk.Button(self.init_frame) self.nmcm_load_button["text"] = "load results" self.nmcm_load_button["command"] = self.load_nmcm self.nmcm_load_button.grid(column=8, row=100) ## self.n.add(self.daily_frame, text="Daily Tasks") self.n.add(self.postseason_frame, text="Post Season Tasks") self.n.add(self.init_frame, text="Initialization Tasks") self.status_label = ttk.Label(self, relief=SUNKEN, anchor=W) self.status_label["text"] = "Status: ready" self.status_label.grid(column=0, row=100, columnspan=7, sticky=(E, W))
def createWidgets(self): self.n = ttk.Notebook(self) self.n.grid(column=0, row=0) self.daily_frame = ttk.Frame(self.n) self.postseason_frame = ttk.Frame(self.n) self.init_frame = ttk.Frame(self.n) # Begin "daily tasks" page in the notebook self.label2 = ttk.Label(self.daily_frame) self.label2["text"] = "load dead birds from file(s):\n" self.label2.grid(column=0, row=0, columnspan=7, sticky=(W)) self.load_birds_entry = ttk.Entry(self.daily_frame) self.load_birds_entry.grid(column=0, row=1, columnspan=4, sticky=(E, W)) self.bird_file_button = ttk.Button(self.daily_frame) self.bird_file_button["text"] = "select files" self.bird_file_button["command"] = self.set_bird_file self.bird_file_button.grid(column=6, row=1) self.load_birds_button = ttk.Button(self.daily_frame) self.load_birds_button["text"] = "load birds" self.load_birds_button["command"] = self.load_birds self.load_birds_button.grid(column=7, row=1) self.sep1 = ttk.Separator(self.daily_frame) self.sep1.grid(column=0, row=2, columnspan=8, sticky=(N,S,E,W), ipadx=40) self.label3 = ttk.Label(self.daily_frame) self.label3["text"] = "generate daily risk for the following date(s): (in YYYY-MM-DD format)\n" self.label3.grid(column=0, row=3, columnspan=7, sticky=(W, S)) self.label_entry1 = ttk.Label(self.daily_frame) self.label_entry1["text"] = "start date:" self.label_entry1.grid(column=0, row=4) self.daily_risk_entry1 = ttk.Entry(self.daily_frame) self.daily_risk_entry1.insert(0, datetime.date.today().strftime("%Y-%m-%d")) self.daily_risk_entry1.grid(column=1, row=4, sticky=(W, S)) self.label_entry2 = ttk.Label(self.daily_frame) self.label_entry2["text"] = "end date:" self.label_entry2.grid(column=2, row=4) self.daily_risk_entry2 = ttk.Entry(self.daily_frame) self.daily_risk_entry2.insert(0, datetime.date.today().strftime("%Y-%m-%d")) self.daily_risk_entry2.grid(column=3, row=4, sticky=(W, S)) self.daily_risk_button = ttk.Button(self.daily_frame) self.daily_risk_button["text"] = "run risk" self.daily_risk_button["command"] = self.run_daily_risk self.daily_risk_button.grid(column=7, row=4) self.daily_risk_params_frame = ttk.Frame(self.daily_frame) self.daily_risk_cs_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_cs_label["text"] = "closeness in space (miles):" self.daily_risk_cs_label.grid(column=0, row=50, sticky=(E)) self.daily_risk_cs_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_cs_entry.insert(0, dycast.get_default_parameters()[0]) self.daily_risk_cs_entry.grid(column=1, row=50) self.daily_risk_ct_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_ct_label["text"] = "closeness in time (days):" self.daily_risk_ct_label.grid(column=2, row=50, sticky=(E)) self.daily_risk_ct_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_ct_entry.insert(0, dycast.get_default_parameters()[1]) self.daily_risk_ct_entry.grid(column=3, row=50) self.daily_risk_sd_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_sd_label["text"] = "spatial domain (miles):" self.daily_risk_sd_label.grid(column=4, row=50, sticky=(E)) self.daily_risk_sd_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_sd_entry.insert(0, dycast.get_default_parameters()[2]) self.daily_risk_sd_entry.grid(column=5, row=50) self.daily_risk_td_label = ttk.Label(self.daily_risk_params_frame) self.daily_risk_td_label["text"] = "temporal domain (days):" self.daily_risk_td_label.grid(column=6, row=50, sticky=(E)) self.daily_risk_td_entry = ttk.Entry(self.daily_risk_params_frame, width=5) self.daily_risk_td_entry.insert(0, dycast.get_default_parameters()[3]) self.daily_risk_td_entry.grid(column=7, row=50) self.daily_risk_params_frame.grid(column=0, row=50, columnspan=8) self.sep2 = ttk.Separator(self.daily_frame) self.sep2.grid(column=0, row=60, columnspan=8, sticky=(N,S,E,W), ipadx=40) self.label3 = ttk.Label(self.daily_frame) self.label3["text"] = "export daily risk for the following date(s): (in YYYY-MM-DD format)\n" self.label3.grid(column=0, row=70, columnspan=7, sticky=(W, S)) self.label_export_dir_entry = ttk.Label(self.daily_frame) self.label_export_dir_entry["text"] = "export directory:" self.label_export_dir_entry.grid(column=0, row=80) self.export_dir_entry = ttk.Entry(self.daily_frame) self.export_dir_entry.grid(column=1, row=80, columnspan=6, sticky=(E,W)) self.browse_export_dir_button = ttk.Button(self.daily_frame) self.browse_export_dir_button["text"] = "browse" self.browse_export_dir_button["command"] = self.set_export_dir self.browse_export_dir_button.grid(column=7, row=80) self.label_entry1 = ttk.Label(self.daily_frame) self.label_entry1["text"] = "start date:" self.label_entry1.grid(column=0, row=90) self.export_risk_entry1 = ttk.Entry(self.daily_frame) self.export_risk_entry1.insert(0, datetime.date.today().strftime("%Y-%m-%d")) self.export_risk_entry1.grid(column=1, row=90, sticky=(W, S)) self.label_entry2 = ttk.Label(self.daily_frame) self.label_entry2["text"] = "end date:" self.label_entry2.grid(column=2, row=90) self.export_risk_entry2 = ttk.Entry(self.daily_frame) self.export_risk_entry2.insert(0, datetime.date.today().strftime("%Y-%m-%d")) self.export_risk_entry2.grid(column=3, row=90, sticky=(W, S)) self.export_risk_button = ttk.Button(self.daily_frame) self.export_risk_button["text"] = "export" self.export_risk_button["command"] = self.run_export_risk self.export_risk_button.grid(column=7, row=90) # Begin "postseason" page in the notebook self.postseason_frame.grid(column=0, row=0, columnspan=7, sticky=(E, W)) self.label_kappa = ttk.Label(self.postseason_frame) self.label_kappa["text"] = "Kappa analysis:\n" self.label_kappa.grid(column=0, row=0) self.kappa_window_start_label = ttk.Label(self.postseason_frame) self.kappa_window_start_label["text"] = "window start:" self.kappa_window_start_label.grid(column=0, row=1, sticky=(E)) self.kappa_window_start_entry = ttk.Entry(self.postseason_frame) self.kappa_window_start_entry.grid(column=1, row=1) self.kappa_window_end_label = ttk.Label(self.postseason_frame) self.kappa_window_end_label["text"] = "window end:" self.kappa_window_end_label.grid(column=2, row=1, sticky=(E)) self.kappa_window_end_entry = ttk.Entry(self.postseason_frame) self.kappa_window_end_entry.grid(column=3, row=1) self.kappa_window_step_label = ttk.Label(self.postseason_frame) self.kappa_window_step_label["text"] = "window step:" self.kappa_window_step_label.grid(column=4, row=1, sticky=(E)) self.kappa_window_step_entry = ttk.Entry(self.postseason_frame) self.kappa_window_step_entry.grid(column=5, row=1) self.kappa_lag_start_label = ttk.Label(self.postseason_frame) self.kappa_lag_start_label["text"] = "lag start:" self.kappa_lag_start_label.grid(column=0, row=2, sticky=(E)) self.kappa_lag_start_entry = ttk.Entry(self.postseason_frame) self.kappa_lag_start_entry.grid(column=1, row=2) self.kappa_lag_end_label = ttk.Label(self.postseason_frame) self.kappa_lag_end_label["text"] = "lag end:" self.kappa_lag_end_label.grid(column=2, row=2, sticky=(E)) self.kappa_lag_end_entry = ttk.Entry(self.postseason_frame) self.kappa_lag_end_entry.grid(column=3, row=2) self.kappa_lag_step_label = ttk.Label(self.postseason_frame) self.kappa_lag_step_label["text"] = "lag step:" self.kappa_lag_step_label.grid(column=4, row=2, sticky=(E)) self.kappa_lag_step_entry = ttk.Entry(self.postseason_frame) self.kappa_lag_step_entry.grid(column=5, row=2) self.kappa_startdate_label = ttk.Label(self.postseason_frame) self.kappa_startdate_label["text"] = "start date:" self.kappa_startdate_label.grid(column=0, row=3, sticky=(E)) self.kappa_startdate_entry = ttk.Entry(self.postseason_frame) self.kappa_startdate_entry.insert(0, datetime.date.today().strftime("%Y-%m-%d")) self.kappa_startdate_entry.grid(column=1, row=3) self.kappa_enddate_label = ttk.Label(self.postseason_frame) self.kappa_enddate_label["text"] = "end date:" self.kappa_enddate_label.grid(column=2, row=3, sticky=(E)) self.kappa_enddate_entry = ttk.Entry(self.postseason_frame) self.kappa_enddate_entry.insert(0, datetime.date.today().strftime("%Y-%m-%d")) self.kappa_enddate_entry.grid(column=3, row=3) self.kappa_export_dir_label = ttk.Label(self.postseason_frame) self.kappa_export_dir_label["text"] = "export directory:" self.kappa_export_dir_label.grid(column=0, row=4, sticky=(E)) self.kappa_export_dir_entry = ttk.Entry(self.postseason_frame) self.kappa_export_dir_entry.grid(column=1, row=4, columnspan=5, sticky=(E,W)) self.kappa_export_dir_button = ttk.Button(self.postseason_frame) self.kappa_export_dir_button["text"] = "browse" self.kappa_export_dir_button["command"] = self.set_kappa_export_dir self.kappa_export_dir_button.grid(column=6, row=4) self.kappa_export_file_label = ttk.Label(self.postseason_frame) self.kappa_export_file_label["text"] = "export filename:" self.kappa_export_file_label.grid(column=0, row=5, sticky=(E)) self.kappa_export_file_entry = ttk.Entry(self.postseason_frame) self.kappa_export_file_entry.insert(0, "kappa.tsv") self.kappa_export_file_entry.grid(column=1, row=5) self.kappa_button = ttk.Button(self.postseason_frame) self.kappa_button["text"] = "run kappa" self.kappa_button["command"] = self.run_kappa self.kappa_button.grid(column=6, row=5) # Begin "initialization" page in the notebook self.init_frame.grid(column=0, row=0, columnspan=7, sticky=(E, W)) self.init_frame.columnconfigure(1, weight=1) self.init_frame.columnconfigure(2, weight=2) self.init_frame.columnconfigure(3, weight=1) self.label_nmcm = ttk.Label(self.init_frame) self.label_nmcm["text"] = "Monte Carlo simulations:\n" self.label_nmcm.grid(column=0, row=0) self.nmcm_close_space_label = ttk.Label(self.init_frame) self.nmcm_close_space_label["text"] = "closeness in space (miles):" self.nmcm_close_space_label.grid(column=0, row=1, sticky=(E)) self.nmcm_close_space_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_close_space_entry.insert(0, dycast.get_default_parameters()[0]) self.nmcm_close_space_entry.grid(column=1, row=1) self.nmcm_close_time_label = ttk.Label(self.init_frame) self.nmcm_close_time_label["text"] = "closeness in time (days):" self.nmcm_close_time_label.grid(column=2, row=1, sticky=(E)) self.nmcm_close_time_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_close_time_entry.insert(0, dycast.get_default_parameters()[1]) self.nmcm_close_time_entry.grid(column=3, row=1) self.nmcm_spatial_domain_label = ttk.Label(self.init_frame) self.nmcm_spatial_domain_label["text"] = "spatial domain (miles):" self.nmcm_spatial_domain_label.grid(column=4, row=1, sticky=(E)) self.nmcm_spatial_domain_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_spatial_domain_entry.insert(0, dycast.get_default_parameters()[2]) self.nmcm_spatial_domain_entry.grid(column=5, row=1) self.nmcm_temporal_domain_label = ttk.Label(self.init_frame) self.nmcm_temporal_domain_label["text"] = "temporal domain (days):" self.nmcm_temporal_domain_label.grid(column=6, row=1, sticky=(E)) self.nmcm_temporal_domain_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_temporal_domain_entry.insert(0, dycast.get_default_parameters()[3]) self.nmcm_temporal_domain_entry.grid(column=7, row=1) self.nmcm_start_number_label = ttk.Label(self.init_frame) self.nmcm_start_number_label["text"] = "starting number of birds:" self.nmcm_start_number_label.grid(column=0, row=2, sticky=(E)) self.nmcm_start_number_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_start_number_entry.insert(0, dycast.get_default_threshold()) self.nmcm_start_number_entry.grid(column=1, row=2) self.nmcm_end_number_label = ttk.Label(self.init_frame) self.nmcm_end_number_label["text"] = "ending number of birds:" self.nmcm_end_number_label.grid(column=2, row=2, sticky=(E)) self.nmcm_end_number_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_end_number_entry.insert(0, "100") self.nmcm_end_number_entry.grid(column=3, row=2) self.nmcm_button = ttk.Button(self.init_frame) self.nmcm_button["text"] = "run simulation" self.nmcm_button["command"] = self.run_nmcm self.nmcm_button.grid(column=8, row=2) self.sep20 = ttk.Separator(self.init_frame) self.sep20.grid(column=0, row=5, columnspan=9, sticky=(N,S,E,W), ipadx=40) self.nmcm_load_label = ttk.Label(self.init_frame) self.nmcm_load_label["text"] = "Load precalculated Monte Carlo results:" self.nmcm_load_label.grid(column=0, row=6, columnspan=7, sticky=(W, S)) self.nmcm_load_cs_label = ttk.Label(self.init_frame) self.nmcm_load_cs_label["text"] = "closeness in space (miles):" self.nmcm_load_cs_label.grid(column=0, row=7, sticky=(E)) self.nmcm_load_cs_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_cs_entry.insert(0, dycast.get_default_parameters()[0]) self.nmcm_load_cs_entry.grid(column=1, row=7) self.nmcm_load_ct_label = ttk.Label(self.init_frame) self.nmcm_load_ct_label["text"] = "closeness in time (days):" self.nmcm_load_ct_label.grid(column=2, row=7, sticky=(E)) self.nmcm_load_ct_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_ct_entry.insert(0, dycast.get_default_parameters()[1]) self.nmcm_load_ct_entry.grid(column=3, row=7) self.nmcm_load_sd_label = ttk.Label(self.init_frame) self.nmcm_load_sd_label["text"] = "spatial domain (miles):" self.nmcm_load_sd_label.grid(column=4, row=7, sticky=(E)) self.nmcm_load_sd_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_sd_entry.insert(0, dycast.get_default_parameters()[2]) self.nmcm_load_sd_entry.grid(column=5, row=7) self.nmcm_load_td_label = ttk.Label(self.init_frame) self.nmcm_load_td_label["text"] = "temporal domain (days):" self.nmcm_load_td_label.grid(column=6, row=7, sticky=(E)) self.nmcm_load_td_entry = ttk.Entry(self.init_frame, width=5) self.nmcm_load_td_entry.insert(0, dycast.get_default_parameters()[3]) self.nmcm_load_td_entry.grid(column=7, row=7) self.nmcm_load_file_label = ttk.Label(self.init_frame) self.nmcm_load_file_label["text"] = "filename:" self.nmcm_load_file_label.grid(column=0, row=90) self.nmcm_load_file_entry = ttk.Entry(self.init_frame) self.nmcm_load_file_entry.grid(column=1, row=90, columnspan=7, sticky=(E, W)) self.nmcm_load_file_button = ttk.Button(self.init_frame) self.nmcm_load_file_button["text"] = "browse" self.nmcm_load_file_button["command"] = self.set_nmcm_import_file self.nmcm_load_file_button.grid(column=8, row=90) self.nmcm_load_button = ttk.Button(self.init_frame) self.nmcm_load_button["text"] = "load results" self.nmcm_load_button["command"] = self.load_nmcm self.nmcm_load_button.grid(column=8, row=100) ## self.n.add(self.daily_frame, text="Daily Tasks") self.n.add(self.postseason_frame, text="Post Season Tasks") self.n.add(self.init_frame, text="Initialization Tasks") self.status_label = ttk.Label(self, relief=SUNKEN, anchor=W) self.status_label["text"] = "Status: ready" self.status_label.grid(column=0, row=100, columnspan=7, sticky=(E, W))
options, arguments = p.parse_args() config_file = options.config try: dycast.read_config(config_file) except: print "could not read config file:", config_file sys.exit() dycast.init_logging() dycast.init_db() (default_cs, default_ct, default_sd, default_td) = dycast.get_default_parameters() if options.closespace: cs = options.closespace else: cs = default_cs if options.closetime: ct = options.closetime else: ct = default_ct if options.spatialdomain: sd = options.spatialdomain else: sd = default_sd if options.temporaldomain: td = options.temporaldomain
config_file = options.config try: dycast.read_config(config_file) except: print "could not read config file:", config_file sys.exit() dycast.init_logging() dycast.init_db() riskdate = options.date (default_cs, default_ct, default_sd, default_td) = dycast.get_default_parameters() if options.closespace: cs = options.closespace else: cs = default_cs if options.closetime: ct = options.closetime else: ct = default_ct if options.spatialdomain: sd = options.spatialdomain else: sd = default_sd if options.temporaldomain: td = options.temporaldomain