@@ -401,8 +401,8 @@ null, roundToDecimal( a.v_electricityImported_kWh-a.v_electricityExported_kWh, 2
401401{/*ALCODESTART::1664952601107*/
402402b_isDaytime = t_h % 24 > 6 && t_h % 24 < 18 ;
403403b_isWeekday = (t_h +(v_dayOfWeek1jan -1 )*24 ) % (24 *7 ) < (24 *5 );
404- b_isSummerWeek = (t_h % 8760 ) >= p_startHourSummerWeek && (t_h % 8760 ) < p_startHourSummerWeek + 24 *7 ;
405- b_isWinterWeek = (t_h % 8760 ) >= p_startHourWinterWeek && (t_h % 8760 ) < p_startHourWinterWeek + 24 *7 ;
404+ b_isSummerWeek = (t_h % 8760 ) >= p_startOfSummerWeek_h && (t_h % 8760 ) < p_startOfSummerWeek_h + 24 *7 ;
405+ b_isWinterWeek = (t_h % 8760 ) >= p_startOfWinterWeek_h && (t_h % 8760 ) < p_startOfWinterWeek_h + 24 *7 ;
406406b_isLastTimeStepOfDay = t_h % 24 == (24 -p_timeStep_h );
407407t_hourOfDay = t_h % 24 ; // Assumes modelrun starts at midnight.
408408
@@ -1368,9 +1368,17 @@ null, roundToDecimal( a.v_electricityImported_kWh-a.v_electricityExported_kWh, 2
13681368
13691369double f_runTimestep ()
13701370{/*ALCODESTART::1701162826549*/
1371- // Update tijdreeksen in leesbare variabelen
13721371t_h = p_runStartTime_h + v_timeStepsElapsed * p_timeStep_h ;// + v_hourOfYearStart);// % 8760;
13731372
1373+ // Reduce startdate after one year, loop all dat
1374+ if (t_h -p_runStartTime_h !=0.0 && (t_h -p_runStartTime_h ) % 8760 == 0.0 ) {
1375+ Date startDate = getExperiment ().getEngine ().getStartDate ();
1376+ startDate .setYear (startDate .getYear ()-1 );
1377+ getExperiment ().getEngine ().setStartDate (startDate );
1378+ traceln ("Reduced anylogic date by one year, looping all data" );
1379+ }
1380+
1381+ // Update tijdreeksen in leesbare variabelen
13741382f_updateTimeseries (t_h );
13751383
13761384// Operate assets on each gridConnection
@@ -1464,6 +1472,9 @@ ArrayList<GridConnection> f_getGridConnections()
14641472
14651473LocalDate localDate = LocalDate .of (p_year , 1 , 1 );
14661474v_dayOfWeek1jan = DayOfWeek .from (localDate ).getValue ();
1475+ p_startOfWinterWeek_h = roundToInt (24 * (p_winterWeekNumber * 7 + (8 -v_dayOfWeek1jan )%7 )); // Week 49 is winterweek.
1476+ p_startOfSummerWeek_h = roundToInt (24 * (p_summerWeekNumber * 7 + (8 -v_dayOfWeek1jan )%7 )); // Week 18 is summerweek.
1477+
14671478
14681479Date startDate = date ();
14691480
0 commit comments