diff --git a/src/blackgui/models/cloudlayerlistmodel.cpp b/src/blackgui/models/cloudlayerlistmodel.cpp index aefebf5a1..cb5d913d6 100644 --- a/src/blackgui/models/cloudlayerlistmodel.cpp +++ b/src/blackgui/models/cloudlayerlistmodel.cpp @@ -35,7 +35,7 @@ namespace BlackGui if (dataCVariant.canConvert()) { double rate = dataCVariant.value(); - QString formattedString = QString::number(rate) + " mm/s"; + QString formattedString = QString::number(rate) + " mm/h"; return formattedString; } Q_ASSERT_X(false, "CPrecipitationRateFormatter", "no double value"); diff --git a/src/blackmisc/weather/cloudlayer.h b/src/blackmisc/weather/cloudlayer.h index 12dff0047..636125777 100644 --- a/src/blackmisc/weather/cloudlayer.h +++ b/src/blackmisc/weather/cloudlayer.h @@ -102,10 +102,10 @@ namespace BlackMisc //! Get layer top BlackMisc::Aviation::CAltitude getTop() const { return m_top; } - //! Set precipitation rate + //! Set precipitation rate in mm/h void setPrecipitationRate(double rate) { m_precipitationRate = rate; } - //! Get precipitation rate + //! Get precipitation rate in mm/h double getPrecipitationRate() const { return m_precipitationRate; } //! Set precipitation @@ -144,7 +144,7 @@ namespace BlackMisc private: BlackMisc::Aviation::CAltitude m_base; BlackMisc::Aviation::CAltitude m_top; - double m_precipitationRate = 0; + double m_precipitationRate = 0; //!< Unit mm/h Precipitation m_precipitation = NoPrecipitation; Clouds m_clouds = NoClouds; int m_coveragePercent; diff --git a/src/plugins/weatherdata/gfs/weatherdatagfs.cpp b/src/plugins/weatherdata/gfs/weatherdatagfs.cpp index 6ee08fbe0..b7c43ad09 100644 --- a/src/plugins/weatherdata/gfs/weatherdatagfs.cpp +++ b/src/plugins/weatherdata/gfs/weatherdatagfs.cpp @@ -297,7 +297,10 @@ namespace BlackWxPlugin cloudLayer.setCoveragePercent(cloudLayerIt.value().totalCoverage); if (gfsGridPoint.surfaceSnow > 0.0) { cloudLayer.setPrecipitation(CCloudLayer::Snow); } if (gfsGridPoint.surfaceRain > 0.0) { cloudLayer.setPrecipitation(CCloudLayer::Rain); } - cloudLayer.setPrecipitationRate(gfsGridPoint.surfacePrecipitationRate); + + // Precipitation rate is in kg m-2 s-1, which is equal to mm/s + // Multiply with 3600 to convert to mm/h + cloudLayer.setPrecipitationRate(gfsGridPoint.surfacePrecipitationRate * 3600.0); cloudLayer.setClouds(CCloudLayer::CloudsUnknown); cloudLayers.insert(cloudLayer); }