   //delay(2000);
   
   lcd.clear();
-  lcd.print("GMT Date");
+  lcd.print(sz);
   lcd.setCursor(0, 2);
   lcd.print(sz);
-  delay(2000);
+  lcd.print(" GMT");
+  delay(4000);
   
   lcd.clear();
-  lcd.print("GMT Time");
+  lcd.print("WD: ");
+  lcd.print(get_wind_direction());
+  lcd.print("  N=0 CW");
   lcd.setCursor(0, 2);
-  lcd.print(sz);
-  delay(2000);
+  lcd.print("WS:");
+  lcd.print(get_wind_speed(), 1);
+  lcd.print(" m/s");
+  delay(4000);
   
   lcd.clear();
-  lcd.print("Wind Direction");
+  lcd.print("H:");
+  lcd.print(myHumidity.readHumidity());
+  lcd.print(" %");
   lcd.setCursor(0, 2);
-  lcd.print(get_wind_direction());
-  lcd.print("(N=0 CW)");
-  delay(2000);
-  
-  lcd.clear();
-  lcd.print("Wind Speed (m/s)");
-  lcd.setCursor(0, 2);
-  lcd.print(get_wind_speed(), 1);
-  delay(2000);
-  
-  lcd.clear();
-  lcd.print("Humidity (%)");
-  lcd.setCursor(0, 2);
-  lcd.print(myHumidity.readHumidity());
-  delay(2000);
-  
-  lcd.clear();
-  lcd.print("Temperature (C)");
-  lcd.setCursor(0, 2);
+  lcd.print("T:");
   lcd.print(myPressure.readTemp());
-  delay(2000);
+  lcd.print(" C");
+  delay(4000);
   
   //Not enough dynamic memory in UNO
   //lcd.clear();

{
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.clear();
  lcd.print("Mobile Weather");
  lcd.setCursor(0, 2);
  lcd.print("Station is up");
  
  Serial.begin(9600);

  ss.begin(9600); //Begin listening to GPS over software serial at 9600. This should be the default baud of the module.

// Count rain gauge bucket tips as they occur
// Activated by the magnet and reed switch in the rain gauge, attached to input D2
{
  unsigned long raintime = millis(); // grab current time
  unsigned long raininterval = raintime - rainlast; // calculate interval between this and last event

  if (raininterval > 10) // ignore switch-bounce glitches less than 10mS after initial edge
  {
