Index: trunk/FACT++/src/tngweather.cc
===================================================================
--- trunk/FACT++/src/tngweather.cc	(revision 13886)
+++ trunk/FACT++/src/tngweather.cc	(revision 13887)
@@ -63,6 +63,10 @@
     }
 
+    virtual void UpdateDust(const Time &, const float &)
+    {
+    }
+
     string fRdfData;
-    uint32_t missing;
+    float  fDust;
 
 protected:
@@ -136,4 +140,10 @@
         PostClose(false);
 
+        if (fIsVerbose)
+        {
+            Out() << "------------------------------------------------------" << endl;
+            Out() << data << endl;
+            Out() << "------------------------------------------------------" << endl;
+        }
 
         const Soprano::Parser* p = Soprano::PluginManager::instance()->discoverParserForSerialization( Soprano::SerializationRdfXml );
@@ -197,5 +207,5 @@
                 throw runtime_error("time invalid");
 
-            if (time!=fLastReport)
+            if (time!=fLastReport && fIsVerbose)
             {
                 Out() << endl;
@@ -220,5 +230,15 @@
             UpdateWeather(time, w);
 
-        }
+            if (fDust==w.fDustTotal)
+                return;
+
+            UpdateDust(time, w.fDustTotal);
+            fDust = w.fDustTotal;
+
+            ostringstream out;
+            out << setprecision(3) << "Dust: " << fDust << "ug/m^3 [" << time << "]";
+            Message(out);
+        }
+
         catch (const exception &e)
         {
@@ -311,5 +331,7 @@
 public:
     ConnectionWeather(ba::io_service& ioservice, MessageImp &imp) : Connection(ioservice, imp()),
-        fIsVerbose(true), fLastReport(Time::none), fLastReception(Time::none), fKeepAlive(ioservice)
+        fIsVerbose(true), fDust(-1),
+        fLastReport(Time::none), fLastReception(Time::none),
+        fKeepAlive(ioservice)
     {
         SetLogStream(&imp);
@@ -356,18 +378,14 @@
     DimDescribedService fDimAtmosphere;
 
-    double dust;
-
     virtual void UpdateWeather(const Time &t, const DimWeather &data)
     {
         fDimWeather.setData(&data, sizeof(DimWeather));
         fDimWeather.Update(t);
-
-        if (dust==data.fDustTotal)
-            return;
-
-        fDimAtmosphere.setData(&data.fDustTotal, sizeof(float));
+    }
+
+    virtual void UpdateDust(const Time &t, const float &dust)
+    {
+        fDimAtmosphere.setData(&dust, sizeof(float));
         fDimAtmosphere.Update(t);
-
-        dust = data.fDustTotal;
     }
 
@@ -389,6 +407,5 @@
                      "|Seeing[W/m^2]:Seeing"),
         fDimAtmosphere("TNG_WEATHER/DUST", "F:1",
-                       "|Dust[ug/m^3]:Dust (total)"),
-        dust(-1)
+                       "|Dust[ug/m^3]:Dust (total)")
     {
     }
