 struct Forecast {
 
   time_t epoch;
+  char day[4];
   int temp_high;
   int temp_low;
   int max_wind;
   int ave_wind;
   char wind_dir[8];
+  int wind_degrees;
   int ave_humidity;
   char conditions[32];
   char icon[16];

    JsonObject &day = days[i];
    struct Forecast &f = forecasts[i];
    f.epoch = (time_t)atoi(day["date"]["epoch"]);
    if (metric) {
      f.temp_high = atoi(day["high"]["celsius"]);
      f.temp_low = atoi(day["low"]["celsius"]);

  strcpy(buf, "moon");
  strcat(buf, c.age_of_moon);
  bmp_draw(tft, buf, tft.width()/2 - 25, 42);

  tft.setCursor(centre_text(c.moon_phase, tft.width()/2, 1), 92);
  tft.print(c.moon_phase);

  display_time(c.epoch);
}

void display_forecast(struct Forecast &f) {

  tft.fillScreen(WHITE);
  tft.setTextColor(BLACK);

  display_wind_speed(f.ave_wind, f.wind_dir, conditions.wind_unit);

  display_temperature(f.temp_high, f.temp_low, conditions.temp_unit);

  display_humidity(f.ave_humidity);

  tft.setTextSize(2);
  tft.setCursor(right(3, tft.width(), 2), 1);
  tft.print(f.day);

  tft.setTextSize(1);
  tft.setCursor(centre_text(f.conditions, tft.width()/2, 1), 34);
  tft.print(f.conditions);
  bmp_draw(tft, f.icon, tft.width()/2 - 25, 42);

  display_time(f.epoch);

  display_wind(f.wind_degrees, f.ave_wind);
}

void update_display(int screen) {
