       console.warn "Received invalid data ", data
       return
 
-    if data.main_forecasts.suninfo?
-      processSunInfo data.main_forecasts.suninfo
+    if data.main_forecasts?
+      mf = data.main_forecasts
+      if mf.suninfo?
+        processSunInfo mf.suninfo
+
+      if mf.observations?
+        setObservations weather, mf.observations
+
+      if mf.forecasts?
+        processForecasts mf.forecasts[0].forecast
 
     if data.main_warnings?
       processWarnings data.main_warnings
 
-    if data.main_forecasts? and data.main_forecasts.observations?
-      setObservations weather, data.main_forecasts.observations
 
     if data.marine_forecasts?
       processMarine data.marine_forecasts
 
-    if data.main_forecasts.forecasts?
-      processForecasts data.main_forecasts.forecasts[0].forecast
 
 
 


    sea = data.warnings.sea.replace new RegExp("<br/>", "g"), ""
    warnings_html = ""
    weather_early_html = ""
    warnings_data =
      "female": data.warnings.pedestrian
      "ship": sea

        current_day = date
        days += 1

      if @WindCompass8?
        # Do not show wind direction if no data is available - fallback is arrow pointing to north, which is
        # worse than showing nothing.
        wind_direction = "<i class='fa fa-fw fa-long-arrow-up fa-rotate-#{@WindCompass8}'></i>"
      else
        wind_direction = "<i class='fa fa-question-circle'></i>"

      current_row.append """<div class="col-md-1">
        <span class="timestamp">#{timestamp.format("HH")}:00</span><br>
        <span class="symbol"><img src="/homecontroller/static/byo-images/#{@WeatherSymbol3}.png"></span><br>
        <span class="temperature">#{@FeelsLike}&deg;C</span>
        <span class="wind-direction">#{wind_direction}</span><span> </span>
        <span class="wind-speed">#{Math.round(@WindSpeedMS)}</span><span class="wind-speed-unit">m/s</span>
      </div>"""

      current_index += 1

