@@ -5508,6 +5508,16 @@ bool PragaProject::saveLogProceduresGrid(QString nameProc, QDate date)
55085508}
55095509
55105510
5511+ void incDateTime (Crit3DDate &myDate, int &myHour)
5512+ {
5513+ ++myHour;
5514+ if (myHour >= 24 )
5515+ {
5516+ myHour -= 24 ;
5517+ myDate = myDate.addDays (1 );
5518+ }
5519+ }
5520+
55115521bool PragaProject::computeRadiationList (const QString &fileName, QString folderString)
55125522{
55135523 if (! meteoPointsLoaded)
@@ -5653,9 +5663,10 @@ bool PragaProject::computeRadiationList(const QString &fileName, QString folderS
56535663 Crit3DDate myDate = myPoint.iniDate ;
56545664 int myHour = myPoint.iniHour ;
56555665 float myLinke;
5666+ bool isLast = false ;
56565667
56575668 // main cycle (days and hours)
5658- while ((myDate < myPoint. endDate ) || (myHour <= myPoint. endHour ) )
5669+ while (! isLast )
56595670 {
56605671 myTime.date = myDate;
56615672 myTime.time = (myHour-0.5 ) * 3600 ;
@@ -5688,12 +5699,7 @@ bool PragaProject::computeRadiationList(const QString &fileName, QString folderS
56885699 {
56895700 logInfo (" Error elaborating point " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
56905701 logInfo (" Error interpolating temperature." );
5691- myHour++;
5692- if (myHour >= 24 )
5693- {
5694- myHour -= 24 ;
5695- myDate = myDate.addDays (1 );
5696- }
5702+ incDateTime (myDate, myHour);
56975703 continue ;
56985704 }
56995705
@@ -5713,14 +5719,9 @@ bool PragaProject::computeRadiationList(const QString &fileName, QString folderS
57135719
57145720 if (! computeTransmissivity (&radSettings, meteoPoints, intervalWidth, myTime, DEM))
57155721 {
5716- logInfo (" Error elaborating point " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
5722+ logInfo (" Error elaborating point: " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
57175723 logInfo (" Error computing transmissivity." );
5718- myHour++;
5719- if (myHour >= 24 )
5720- {
5721- myHour -= 24 ;
5722- myDate = myDate.addDays (1 );
5723- }
5724+ incDateTime (myDate, myHour);
57245725 continue ;
57255726 }
57265727
@@ -5738,30 +5739,20 @@ bool PragaProject::computeRadiationList(const QString &fileName, QString folderS
57385739 }
57395740 else
57405741 {
5741- logInfo (" Error elaborating point " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
5742+ logInfo (" Error elaborating point: " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
57425743 logInfo (" Error interpolating transmissivity." );
5743- myHour++;
5744- if (myHour >= 24 )
5745- {
5746- myHour -= 24 ;
5747- myDate = myDate.addDays (1 );
5748- }
5744+ incDateTime (myDate, myHour);
57495745 continue ;
57505746 }
57515747
5752- // radiation
5748+ // radiation
57535749 if (! radiation::computeRadiationRsun (&radSettings, myTemperature, myPressure, myTime,
57545750 myLinke, radSettings.getAlbedo (), radSettings.getClearSky (),
57555751 myTransmissivity, sunPosition, myPoint.radPoint , DEM))
57565752 {
5757- logInfo (" Error elaborating point " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
5753+ logInfo (" Error elaborating point: " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
57585754 logInfo (" Error computing point radiation." );
5759- myHour++;
5760- if (myHour >= 24 )
5761- {
5762- myHour -= 24 ;
5763- myDate = myDate.addDays (1 );
5764- }
5755+ incDateTime (myDate, myHour);
57655756 continue ;
57665757 }
57675758 }
@@ -5788,12 +5779,10 @@ bool PragaProject::computeRadiationList(const QString &fileName, QString folderS
57885779
57895780 outStream << " \n " ;
57905781
5791- myHour++;
5792- if (myHour >= 24 )
5793- {
5794- myHour -= 24 ;
5795- myDate = myDate.addDays (1 );
5796- }
5782+ if (myDate == myPoint.endDate && myHour == myPoint.endHour )
5783+ isLast = true ;
5784+
5785+ incDateTime (myDate, myHour);
57975786 }
57985787
57995788 logInfo (" Elaboration finished for " + QString::fromStdString (myPoint.fileName .substr (myPoint.fileName .rfind (' /' ) + 1 )));
0 commit comments