Define precipitation rate default unit to mm/h

There was a misalignment in precipitation rate units across the code.
GFS values are in kg m-2 s-1 which is equal to mm/s, but the default
unit seems to be mm/h in many weather documents.
This commit is contained in:
Roland Winklmeier
2017-01-15 23:45:25 +01:00
committed by Mathew Sutcliffe
parent f75a9ac476
commit 2616f94f2d
3 changed files with 8 additions and 5 deletions

View File

@@ -35,7 +35,7 @@ namespace BlackGui
if (dataCVariant.canConvert<double>()) if (dataCVariant.canConvert<double>())
{ {
double rate = dataCVariant.value<double>(); double rate = dataCVariant.value<double>();
QString formattedString = QString::number(rate) + " mm/s"; QString formattedString = QString::number(rate) + " mm/h";
return formattedString; return formattedString;
} }
Q_ASSERT_X(false, "CPrecipitationRateFormatter", "no double value"); Q_ASSERT_X(false, "CPrecipitationRateFormatter", "no double value");

View File

@@ -102,10 +102,10 @@ namespace BlackMisc
//! Get layer top //! Get layer top
BlackMisc::Aviation::CAltitude getTop() const { return m_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; } void setPrecipitationRate(double rate) { m_precipitationRate = rate; }
//! Get precipitation rate //! Get precipitation rate in mm/h
double getPrecipitationRate() const { return m_precipitationRate; } double getPrecipitationRate() const { return m_precipitationRate; }
//! Set precipitation //! Set precipitation
@@ -144,7 +144,7 @@ namespace BlackMisc
private: private:
BlackMisc::Aviation::CAltitude m_base; BlackMisc::Aviation::CAltitude m_base;
BlackMisc::Aviation::CAltitude m_top; BlackMisc::Aviation::CAltitude m_top;
double m_precipitationRate = 0; double m_precipitationRate = 0; //!< Unit mm/h
Precipitation m_precipitation = NoPrecipitation; Precipitation m_precipitation = NoPrecipitation;
Clouds m_clouds = NoClouds; Clouds m_clouds = NoClouds;
int m_coveragePercent; int m_coveragePercent;

View File

@@ -297,7 +297,10 @@ namespace BlackWxPlugin
cloudLayer.setCoveragePercent(cloudLayerIt.value().totalCoverage); cloudLayer.setCoveragePercent(cloudLayerIt.value().totalCoverage);
if (gfsGridPoint.surfaceSnow > 0.0) { cloudLayer.setPrecipitation(CCloudLayer::Snow); } if (gfsGridPoint.surfaceSnow > 0.0) { cloudLayer.setPrecipitation(CCloudLayer::Snow); }
if (gfsGridPoint.surfaceRain > 0.0) { cloudLayer.setPrecipitation(CCloudLayer::Rain); } 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); cloudLayer.setClouds(CCloudLayer::CloudsUnknown);
cloudLayers.insert(cloudLayer); cloudLayers.insert(cloudLayer);
} }