|
2 | 2 |
|
3 | 3 | wfName = "CA_SACRAMENTO-EXECUTIVE-AP_724830S_STYP20.epw" |
4 | 4 | nSubSteps = 10 |
| 5 | +DT = NO // first run w/o daylight savings |
5 | 6 |
|
6 | | -ACCUMULATOR MyAccum acmValue = 1 |
7 | | -ACCUMULATOR WthrAccum acmValue = @Top.radBeamShAv |
8 | | -ACCUMULATOR WthrAccum2 acmValue = @weather.db |
| 7 | +// trivial test case: accumulate constant 1 |
| 8 | +ACCUMULATOR Accum1 acmValue = 1 |
| 9 | + |
| 10 | +// accumulate subhour beam solar: good test cuz it varies within hour |
| 11 | +ACCUMULATOR AccumBeam acmValue = @Top.radBeamShAv |
| 12 | + |
| 13 | +// accumulate subhour surface heat flow: tests for lag |
| 14 | +ACCUMULATOR AccumQSrf acmValue = @xsurf[ "South Vertical Wall"].sbcO.qSrf |
| 15 | + |
| 16 | +// accumulate from znres |
| 17 | +ACCUMULATOR AccumQsMech acmValue = @znRes[ "Main"].S.qsMech |
9 | 18 |
|
10 | 19 | // Constructions |
11 | 20 | MATERIAL "Plasterboard" matCond = 0.09 matSpHt = 0.2 matDens = 59 |
@@ -210,56 +219,95 @@ Reportcol colVal="Yr" colWid=2 |
210 | 219 | ZNCOLS(1, Y) |
211 | 220 | #endif |
212 | 221 |
|
213 | | -#define CSEBtuSF 1000 |
| 222 | + |
| 223 | + |
| 224 | + |
214 | 225 | #define ACCOLS( A, X) \ |
215 | 226 | Reportcol colVal=@Accumulator[A].X.acmCount colHead="Count" colWid=8 colDec=0 \ |
216 | | -Reportcol colVal=@Accumulator[A].X.acmMin colHead="Min" colWid=8 colDec=2 \ |
217 | | -Reportcol colVal=@Accumulator[A].X.acmMinDayOfYear colHead="MinDOY" colWid=6 \ |
218 | | -Reportcol colVal=@Accumulator[A].X.acmMinHour colHead="MinHr" colWid=5 \ |
219 | | -Reportcol colVal=@Accumulator[A].X.acmMinSubhour colHead="MinSH" colWid=5 \ |
220 | | -Reportcol colVal=@Accumulator[A].X.acmMean colHead="Mean" colWid=8 colDec=2 \ |
221 | | -Reportcol colVal=@Accumulator[A].X.acmMax colHead="Max" colWid = 8 colDec=2 \ |
222 | | -Reportcol colVal=@Accumulator[A].X.acmMaxDayOfYear colHead="MaxDOY" colWid=6 \ |
223 | | -Reportcol colVal=@Accumulator[A].X.acmMaxHour colHead="MaxHr" colWid=5 \ |
224 | | -Reportcol colVal=@Accumulator[A].X.acmMaxSubhour colHead="MaxSH" colWid=5 \ |
225 | | -Reportcol colVal=@Accumulator[A].X.acmSum colHead=" Sum" colWid = 8 colDec=2 |
| 227 | +Reportcol colVal=@Accumulator[A].X.acmMin colHead="Min" colGap=4 colWid=8 colDec=2 \ |
| 228 | +Reportcol colVal=@Accumulator[A].X.acmMinDayOfYear colHead="MinDOY" colWid=8 \ |
| 229 | +Reportcol colVal=@Accumulator[A].X.acmMinDayOfYear colHead="MinDOYST" colWid=8 \ |
| 230 | +Reportcol colVal=@Accumulator[A].X.acmMinHour colHead="MinHr" colWid=8 \ |
| 231 | +Reportcol colVal=@Accumulator[A].X.acmMinHour colHead="MinHrST" colWid=8 \ |
| 232 | +Reportcol colVal=@Accumulator[A].X.acmMinSubhour colHead="MinSH" colWid=8 \ |
| 233 | +Reportcol colVal=@Accumulator[A].X.acmMean colHead="Mean" colGap=4 colWid=8 colDec=2 \ |
| 234 | +Reportcol colVal=@Accumulator[A].X.acmMax colHead="Max" colGap=4 colWid = 8 colDec=2 \ |
| 235 | +Reportcol colVal=@Accumulator[A].X.acmMaxDayOfYear colHead="MaxDOY" colWid=8 \ |
| 236 | +Reportcol colVal=@Accumulator[A].X.acmMaxDayOfYear colHead="MaxDOYST" colWid=8 \ |
| 237 | +Reportcol colVal=@Accumulator[A].X.acmMaxHour colHead="MaxHr" colWid=8 \ |
| 238 | +Reportcol colVal=@Accumulator[A].X.acmMaxHour colHead="MaxHrST" colWid=8 \ |
| 239 | +Reportcol colVal=@Accumulator[A].X.acmMaxSubhour colHead="MaxSH" colWid=8 \ |
| 240 | +Reportcol colVal=@Accumulator[A].X.acmSum colHead=" Sum" colGap=4 colWid = 8 colDec=2 |
226 | 241 |
|
227 | 242 | // Monthly |
228 | | -#define ACMON( A) \ |
229 | | -Report rpType=UDT rpFreq=Month rpCPL=-1 \ |
| 243 | +#define ACMON( NM, A) \ |
| 244 | +Report NM rpType=UDT rpFreq=Month rpCPL=-1 \ |
230 | 245 | rpTitle=concat("Monthly data for ", A) \ |
231 | 246 | Reportcol colVal=$month colHead="mo" colWid=2 \ |
232 | 247 | ACCOLS( A, M) \ |
233 | | -Report rpType=UDT rpFreq=Year rpHeader=No rpCPL=-1 \ |
| 248 | +Report concat( NM,"_Y") rpType=UDT rpFreq=Year rpHeader=No rpCPL=-1 \ |
234 | 249 | Reportcol colVal="Yr" colWid=2 \ |
235 | 250 | ACCOLS(A, Y) |
236 | 251 |
|
| 252 | +// daily |
| 253 | +#define ACDAY( NM, A, dayB, dayE) \ |
| 254 | +Report NM rpType=UDT rpFreq=Day rpCPL=-1 rpDayBeg = dayB rpDayEnd=dayE \ |
| 255 | +rpTitle=concat( "Day results for ACCCUMULATOR ", A) \ |
| 256 | +Reportcol colVal=$dayofyear colHead="DOY" colWid=4 \ |
| 257 | +ACCOLS( A, D) |
| 258 | + |
| 259 | + |
237 | 260 | // hourly |
238 | | -#define ACHOUR( A, dayX) \ |
239 | | -Report rpType=UDT rpFreq=Hour rpCPL=-1 rpDayBeg = dayX \ |
| 261 | +#define ACHOUR( NM, A, dayX) \ |
| 262 | +Report NM rpType=UDT rpFreq=Hour rpCPL=-1 rpDayBeg = dayX \ |
240 | 263 | rpTitle=concat("Hour results for ACCUMULATOR ", A) \ |
241 | 264 | Reportcol colVal=$hour colHead="hr" colWid=3 \ |
242 | 265 | ACCOLS( A, H) \ |
243 | | -Report rpType=UDT rpFreq=Day rpCPL=-1 rpHeader = No rpDayBeg = dayX \ |
| 266 | +Report concat( NM, "_D") rpType=UDT rpFreq=Day rpCPL=-1 rpHeader = No rpDayBeg = dayX \ |
244 | 267 | Reportcol colVal="Day" colWid=3 \ |
245 | 268 | ACCOLS( A, D) |
246 | 269 |
|
247 | | -// daily |
248 | | -#define ACDAY( A, dayB, dayE) \ |
249 | | -Report rpType=UDT rpFreq=Day rpCPL=-1 rpDayBeg = dayB rpDayEnd=dayE \ |
250 | | -rpTitle=concat( "Day results for ACCCUMULATOR ", A) \ |
251 | | -Reportcol colVal=$dayofyear colHead="DOY" colWid=4 \ |
252 | | -ACCOLS( A, D) |
253 | 270 |
|
254 | | -ACHOUR( "MyAccum", Feb 1) |
| 271 | +ACHOUR( "H1", "Accum1", Feb 1) |
255 | 272 |
|
256 | | -ACDAY( "MyAccum", Feb 1, Feb 28) |
| 273 | +ACDAY( "D1", "Accum1", Feb 1, Feb 28) |
257 | 274 |
|
258 | | -ACMON("MyAccum") |
| 275 | +ACMON( "M1", "Accum1") |
259 | 276 |
|
260 | | -ACMON("WthrAccum") |
| 277 | +#define SHREP1(xdb, xde) REPORT rpType=UDT rpFreq=SUBHOUR rpDayBeg=xdb rpDayEnd=xde rpCPL=-1 \ |
| 278 | + REPORTCOL colHead="Mon" colVal=$month colWid=3 \ |
| 279 | + REPORTCOL colHead="Day" colVal=$dayOfMonth colWid=3 \ |
| 280 | + REPORTCOL colHead="DOY" colVal=$dayOfYear colWid=5 \ |
| 281 | + REPORTCOL colHead="DOYST" [email protected] colWid=5 \ |
| 282 | + REPORTCOL colHead="Hr0" [email protected] colWid=3 \ |
| 283 | + REPORTCOL colHead="Hr0ST" [email protected] colWid=4 \ |
| 284 | + REPORTCOL colHead="DT" colVal=$IsDT colWid=2 \ |
| 285 | + REPORTCOL colHead="Subhr0" [email protected] colWid=3 \ |
| 286 | + REPORTCOL colHead="Beam" colVal= @Top.radBeamShAv colWid=7 colDec=2 \ |
| 287 | + REPORTCOL colHead="BeamAc" colVal= @ACCUMULATOR["AccumBeam"].acmValue colWid=7 colDec=2 \ |
| 288 | + REPORTCOL colHead="QSrf" colVal= @xsurf["South Vertical Wall"].sbcO.qSrf colWid=7 colDec=2 \ |
| 289 | + REPORTCOL colHead="QSrfAc" colVal= @ACCUMULATOR["AccumQSrf"].acmValue colWid=7 colDec=2 \ |
| 290 | + REPORTCOL colHead="ZnQsM" colVal= @znRes[ "Main"].S.qsMech colWid=7 colDec=2 \ |
| 291 | + REPORTCOL colHead="ZnQsMAc" colVal= @ACCUMULATOR["AccumQsMech"].acmValue colWid=7 colDec=2 |
| 292 | + |
| 293 | + |
| 294 | + |
| 295 | +SHREP1( mar 7, mar 9) |
| 296 | + |
| 297 | +ACHOUR( "BH", "AccumBeam", mar 8) |
| 298 | + |
| 299 | +ACDAY( "BD", "AccumBeam", mar 1, mar 31) |
| 300 | + |
| 301 | +ACMON("BM", "AccumBeam") |
| 302 | + |
| 303 | +ACHOUR( "QH", "AccumQSrf", mar 8) |
261 | 304 |
|
262 | | -ACMON("WthrAccum2") |
| 305 | +ACDAY( "QD", "AccumQSrf", mar 1, mar 31) |
| 306 | + |
| 307 | +ACMON("QM", "AccumQSrf") |
| 308 | + |
| 309 | +// accumulate subhour surface heat flow: tests for lag |
| 310 | +// ACCUMULATOR AccumQSrf acmValue = @xsurf[ "South Vertical Wall"].sbcO.qSrf |
263 | 311 |
|
264 | 312 |
|
265 | 313 |
|
|
478 | 526 |
|
479 | 527 | RUN |
480 | 528 |
|
| 529 | +UNSET DT |
| 530 | +DT = YES |
| 531 | + |
| 532 | +DELETE REPORT "H1" |
| 533 | +DELETE REPORT "H1_D" |
| 534 | + |
| 535 | +DELETE REPORT "D1" |
| 536 | + |
| 537 | +DELETE REPORT "M1" |
| 538 | +DELETE REPORT "M1_Y" |
| 539 | + |
| 540 | +RUN |
| 541 | + |
481 | 542 |
|
0 commit comments