def home(request): #overlays_view_data = OverlayManager.get_next_few_days_of_tiled_overlays().exclude(definition_id=5) overlays_view_data = OverlayManager.get_next_few_days_of_tiled_overlays() #Wind overlay is different from the main overlay due to the time intervals #wind_overlays_view_data = overlays_view_data.filter(definition_id=5) datetimes = [ i.applies_at_datetime.astimezone(tz.tzlocal()).strftime('%D, %I %p') for i in overlays_view_data ] #winddatetimes = [ i.applies_at_datetime.astimezone(tz.tzlocal()).strftime('%D, %I %p') for i in wind_overlays_view_data ] # a complete hack! it just divides a list of all of the times for all the overlays by the number # of defs to get a singular list of overlay times # num_defs = len(OverlayDefinition.objects.filter(is_base=True).exclude(display_name_short="Wind")) # num_wind_defs = len(OverlayDefinition.objects.filter(is_base=True).exclude(display_name_short="SST").exclude(display_name_short="Currents")) # Team 2 says: at this time we want SST (1), currents (3), and Wave (4) only. Modify this as # you add new models. num_defs = len(OverlayDefinition.objects.filter(is_base=True, id__in=[1,3,4])) list_of_times = datetimes[:len(datetimes)/num_defs] #list_of_wind_times = winddatetimes[:len(winddatetimes)/num_wind_defs] #context = {'overlays': overlays_view_data, 'defs': OverlayDefinition.objects.filter(is_base=True).exclude(id=4), 'times':list_of_times, 'windoverlays': wind_overlays_view_data, 'winddefs': OverlayDefinition.objects.filter(id=5), 'windtimes':list_of_wind_times} context = {'overlays': overlays_view_data, 'defs': OverlayDefinition.objects.filter(is_base=True, id__in=[1,3,4]), 'times':list_of_times } return render(request, 'index.html', context)
def home(request): #This determines which models are ran #1 = SST, 3 = Currents, 4 = Wave Height, 5 = Winds, 6 = Wave Direction #------------------------------------------------------------------------- models = [1,3,4,5,6] overlays_view_data = OverlayManager.get_next_few_days_of_tiled_overlays(models) datetimes = overlays_view_data.values_list('applies_at_datetime', flat=True).distinct().order_by('applies_at_datetime') context = {'overlays': overlays_view_data, 'defs': OverlayDefinition.objects.filter(is_base=True, id__in=models), 'times':datetimes } return render(request, 'index.html', context)
def home(request): #Models determines which models are displayed on the website. They will appear in the order provided by models[]. Change this order to change the order of the buttons and which buttons appear. # OSU_ROMS_SST = 1 # OSU_ROMS_SUR_SAL = 2 # OSU_ROMS_SUR_CUR = 3 # OSU_WW3_HI = 4 # NAMS_WIND = 5 # OSU_WW3_DIR = 6 # OSU_ROMS_BOT_SAL = 7 # OSU_ROMS_BOT_TEMP = 8 # OSU_ROMS_SSH = 9 # NCEP_WW3_DIR = 10 # NCEP_WW3_HI = 11 # HYCOM_SST = 12 # RTOFS - Not Used - needs to be renamed # HYCOM_SUR_CUR = 13 # RTOFS - Not Used - needs to be renamed # OSU_ROMS_TCLINE = 14 # OSU_ROMS_PCLINE = 15 # NAVY_HYCOM_SST = 16 # NAVY_HYCOM_SUR_CUR = 17 # NAVY_HYCOM_SUR_SAL = 18 # NAVY_HYCOM_SSH = 19 # NAVY_HYCOM_BOT_TEMP = 20 # NAVY_HYCOM_BOT_CUR = 21 # NAVY_HYCOM_BOT_SAL = 22 models = [settings.OSU_ROMS_SST, settings.OSU_ROMS_SUR_CUR, settings.NCEP_WW3_HI, settings.NCEP_WW3_DIR, settings.NAMS_WIND, settings.OSU_ROMS_BOT_TEMP, settings.OSU_ROMS_SUR_SAL, settings.OSU_ROMS_BOT_SAL, settings.OSU_ROMS_SSH, settings.OSU_ROMS_TCLINE, ] extended_models = [settings.OSU_ROMS_SST, settings.OSU_ROMS_SUR_CUR] fields = get_list_of_overlay_definitions(models) base_overlays = OverlayManager.get_next_few_days_of_tiled_overlays(models) if settings.EXTEND: extended_overlays = OverlayManager.get_next_few_days_of_tiled_overlays_for_extended_forecasts('NCDF') overlays = base_overlays | extended_overlays # Union of all three querysets - '|' represents the union else: overlays = base_overlays datetimes = overlays.values_list('applies_at_datetime', flat=True).distinct().order_by('applies_at_datetime') context = {'overlays': overlays, 'defs': fields, 'times':datetimes } return render(request, 'index.html', context)
def extend(): from pl_plot.models import OverlayManager models = [ settings.OSU_ROMS_SST, # Extended settings.OSU_ROMS_SUR_SAL, settings.OSU_ROMS_SUR_CUR, # Extended settings.OSU_WW3_HI, # Extended settings.NAMS_WIND, settings.OSU_WW3_DIR, # Extended settings.OSU_ROMS_BOT_SAL, settings.OSU_ROMS_BOT_TEMP, settings.OSU_ROMS_SSH, settings.OSU_ROMS_TCLINE, ] extended_models = [ settings.OSU_ROMS_SST, settings.OSU_ROMS_SUR_CUR, settings.OSU_WW3_HI, settings.OSU_WW3_DIR ] # 14 = Thermocline #models = [1,3,4,6,5,8,2,7,9,] fields = get_list_of_overlay_definitions(models) base_overlays = OverlayManager.get_next_few_days_of_tiled_overlays(models) ww3_extended_overlays = OverlayManager.get_next_few_days_of_tiled_overlays_for_extended_forecasts( 'WAVE', extended_models) roms_extended_overlays = OverlayManager.get_next_few_days_of_tiled_overlays_for_extended_forecasts( 'NCDF', extended_models) print "Base Overlays:" for overlay in base_overlays: print overlay.file, overlay.applies_at_datetime, overlay.is_extend print "Extended WW3" for overlay in ww3_extended_overlays: print overlay.file, overlay.applies_at_datetime, overlay.is_extend print "Extended ROMS" for overlay in roms_extended_overlays: print overlay.file, overlay.applies_at_datetime, overlay.is_extend overlays = base_overlays | ww3_extended_overlays | roms_extended_overlays # Union of all three querysets - '|' represents the union
def extend(): from pl_plot.models import OverlayManager models = [settings.OSU_ROMS_SST, # Extended settings.OSU_ROMS_SUR_SAL, settings.OSU_ROMS_SUR_CUR, # Extended settings.OSU_WW3_HI, # Extended settings.NAMS_WIND, settings.OSU_WW3_DIR, # Extended settings.OSU_ROMS_BOT_SAL, settings.OSU_ROMS_BOT_TEMP, settings.OSU_ROMS_SSH, settings.OSU_ROMS_TCLINE, ] extended_models = [settings.OSU_ROMS_SST, settings.OSU_ROMS_SUR_CUR, settings.OSU_WW3_HI, settings.OSU_WW3_DIR] # 14 = Thermocline #models = [1,3,4,6,5,8,2,7,9,] fields = get_list_of_overlay_definitions(models) base_overlays = OverlayManager.get_next_few_days_of_tiled_overlays(models) ww3_extended_overlays = OverlayManager.get_next_few_days_of_tiled_overlays_for_extended_forecasts('WAVE', extended_models) roms_extended_overlays = OverlayManager.get_next_few_days_of_tiled_overlays_for_extended_forecasts('NCDF', extended_models) print "Base Overlays:" for overlay in base_overlays: print overlay.file, overlay.applies_at_datetime, overlay.is_extend print "Extended WW3" for overlay in ww3_extended_overlays: print overlay.file, overlay.applies_at_datetime, overlay.is_extend print "Extended ROMS" for overlay in roms_extended_overlays: print overlay.file, overlay.applies_at_datetime, overlay.is_extend overlays = base_overlays | ww3_extended_overlays | roms_extended_overlays # Union of all three querysets - '|' represents the union
def home(request): #overlays_view_data = OverlayManager.get_next_few_days_of_tiled_overlays().exclude(definition_id=5) overlays_view_data = OverlayManager.get_next_few_days_of_tiled_overlays() #Wind overlay is different from the main overlay due to the time intervals #wind_overlays_view_data = overlays_view_data.filter(definition_id=5) datetimes = [ i.applies_at_datetime.astimezone(tz.tzlocal()).strftime('%D, %I %p') for i in overlays_view_data ] #winddatetimes = [ i.applies_at_datetime.astimezone(tz.tzlocal()).strftime('%D, %I %p') for i in wind_overlays_view_data ] # a complete hack! it just divides a list of all of the times for all the overlays by the number # of defs to get a singular list of overlay times # num_defs = len(OverlayDefinition.objects.filter(is_base=True).exclude(display_name_short="Wind")) # num_wind_defs = len(OverlayDefinition.objects.filter(is_base=True).exclude(display_name_short="SST").exclude(display_name_short="Currents")) # Team 2 says: at this time we want SST (1), currents (3), and Wave (4) only. Modify this as # you add new models. num_defs = len( OverlayDefinition.objects.filter(is_base=True, id__in=[1, 3, 4])) list_of_times = datetimes[:len(datetimes) / num_defs] #list_of_wind_times = winddatetimes[:len(winddatetimes)/num_wind_defs] #context = {'overlays': overlays_view_data, 'defs': OverlayDefinition.objects.filter(is_base=True).exclude(id=4), 'times':list_of_times, 'windoverlays': wind_overlays_view_data, 'winddefs': OverlayDefinition.objects.filter(id=5), 'windtimes':list_of_wind_times} context = { 'overlays': overlays_view_data, 'defs': OverlayDefinition.objects.filter(is_base=True, id__in=[1, 3, 4]), 'times': list_of_times } return render(request, 'index.html', context)