home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / h / house_ii.zip / FOR / ENDLP2.FOR < prev    next >
Text File  |  1992-05-09  |  23KB  |  555 lines

  1.        SUBROUTINE ENDLP2(ATOUT, CDAY, DTIM1, HUMON, ICYC1,
  2.      + ICYC6,ICYCCP, IDAYM, ILINES, IPASS, IPASY, IRH, ISWING, KDAYM,
  3.      +NROUT, QHUMT, QSPT, QWAS, TIMAX, TIMAXN, TIMIN, TONMAX,
  4.      +WATER, WEIGHT, WTFCT)
  5. C  COMFTT WAS REMOVED FROM FORMAL PAR LIST ABOVE TO SAVE MEMORY     
  6. C
  7. C-----PERFORMS CALCULATIONS FOR THE END OF THE OUTER TIME LOOP
  8. C       SET UP FOR A MAX OF 7 COMPRESSED WEATHER DAYS PER MONTH!
  9. C
  10. C-----CONSTANTS
  11. CMDK NLVGRM
  12. CMDK BTUKWH
  13. CMDK NHBK
  14. CMDK NHRO
  15. CMDK NHRP
  16. CMDK NOUTDY
  17. CMDK NWL
  18. CMDK NZN
  19. CMDK NZW
  20. C-----COMMON BLOCKS
  21. CMDK BLKQSM
  22. CMDK DUCTS5
  23. CMDK ENCBK1
  24. CMDK INDIC1
  25. CMDK HANDBK
  26. CMDK HUMIDC
  27. CMDK IZZQ
  28. CMDK OUTPUT      
  29. CMDK QUAYCH
  30. CMDK QUAYLE
  31. CMDK SIMA
  32. CMDK TIMEB
  33. CMDK BLKTM2
  34. CMDK TSTATC
  35.       REAL    ATOUT (12, 24),ISWNG(NZN),SWGSUM(NZN),SWGAV(NZN)
  36.       CHARACTER*8 CDAY (7)
  37. C      REAL    COMFTT (11, 21)
  38.       INTEGER   IPASS (NOUTDY), IPASY(NOUTDY), NROUT(24)
  39.       REAL    RPEAK (2), TOTLS(3)
  40. C      REAL TICY(5)
  41. C      INTEGER IBRNQ(5)
  42. C      DATA IBRNQ/5*0/
  43. C      DATA TICY/5*0./
  44. C
  45. C-----FIND AVERAGE TEMPERATURE SWINGS
  46.       IF (NSEQW.EQ.0) THEN
  47.          ILINES=3
  48.          IF (IDEBUG.GT.0) ILINES=1
  49.       END IF
  50.       DO 841 I=1,NROOMS
  51.       ISWNG(I)=0
  52.   841 SWGSUM(I)=0.0
  53.       SWGAVG=0.0
  54.       SWGMAX=0.
  55. C  DONT READ PEAKS IF RUN IS STOPPED AT LESS THAN O.5 HR
  56.       IF (ISWING.GT.1.AND.TIME.GT.0.5) THEN
  57. C      
  58. C NOTE: TAPE 11 IS USED TO MINIMIZE MEMORY DURING EXECUTION      
  59.         ENDFILE 11
  60.         REWIND 11
  61. C         RPEAKS BELOW NOT USED (THEY ARE MAX AND MIN TEMP)
  62.   842   READ(11,*,END=844)NRM,RPEAK(1),RPEAK(2),SWING
  63.         ISWNG(NRM)=ISWNG(NRM)+1
  64.         SWGSUM(NRM)=SWGSUM(NRM)+SWING
  65.         IF(NRM.EQ.NLVGRM)THEN
  66.           IF(SWING.GT.SWGMAX)SWGMAX=SWING
  67.           ENDIF
  68.         GO TO 842
  69.   844   DO 846 I=1,NROOMS
  70.         IF(ISWNG(I).EQ.0)THEN
  71.           SWGAV(I)=0.
  72.         ELSE
  73.           SWGAV(I)=SWGSUM(I)/ISWNG(I)
  74.           ENDIF
  75.         WRITE(60,*)' *** AVG AIR TEMP SWING IN ZONE ',I,' = ',SWGAV(I),
  76.      +            ' F'
  77.   846   CONTINUE
  78.         SWGAVG=SWGAV(NLVGRM)
  79.         CLOSE(11)
  80.         OPEN(11,FILE='TAPE11',STATUS='UNKNOWN')
  81.       END IF
  82. C-----FIND AVERAGE RELATIVE HUMIDITY SWINGS
  83.       RHSUM=0.
  84.       RHAVG=0.
  85.       IF (IRH.GT.1.AND.TIME.GT.0.5) THEN
  86.          ENDFILE 1
  87.          REWIND 1
  88.          LEND=IRH-1
  89.          L=1
  90.          LL=1
  91. C         
  92. C   TAPE1 CONTAINS RELATIVE-HUMIDITY PEAKS.  IT IS USED
  93. C   TO SAVE MEMORY DURING EXECUTION
  94.          READ(1,500,END=872)RPEAK(1)
  95.          READ(1,500,END=872)RPEAK(2)
  96.          IF (RPEAK (1).LE.RPEAK (2)) THEN
  97.             XRP=RPEAK(2)
  98.             RPEAK(2)=RPEAK(1)
  99.             RPEAK(1)=XRP
  100.             L=2
  101.             LL=-1
  102.             LEND=IRH
  103.          END IF
  104.          IRH=0
  105.          DO 870 LK=L, LEND, 2
  106. C            LM=LK+LL
  107.             IF(LK.GT.L)THEN
  108.                IF(LL.EQ.-1)THEN
  109.                   READ(1,500,END=991)RPEAK(2)
  110.                   READ(1,500,END=991)RPEAK(1)
  111.                ELSE
  112.                   READ(1,500,END=991)RPEAK(1)
  113.                   READ(1,500,END=991)RPEAK(2)
  114.                   ENDIF
  115.                ENDIF
  116.             SWING=RPEAK (1)-RPEAK (2)
  117.             IRH=IRH+1
  118.             RHSUM=RHSUM+SWING
  119. 870      CONTINUE
  120. 872      CONTINUE
  121.          IF(IRH.EQ.0)THEN
  122.            RHAVG = 0.
  123.          ELSE
  124.            RHAVG=RHSUM/IRH
  125.          ENDIF
  126.          CLOSE(1)
  127.          OPEN(1,FILE='TAPE1',STATUS='UNKNOWN')
  128.       END IF
  129. C-----AIR CONDITIONER CYCLES
  130.       ICYCCP=ICYCCP/2
  131. C-----BURNER CYCLES
  132. C      ICYCT=ICYC1
  133.       ICYC1=ICYC1/2
  134.       ICYC6=ICYC6/2
  135. C-----CONVERT SUMMED HANDBOOK FACTORS TO TIME INTEGRATED ENERGY (BTU)
  136.       IF (HBKRNL.GE.0.0) THEN
  137.          DO 880 I=1, NHBK
  138.             HBK (I)=HBK (I)*DTIME
  139. 880         CONTINUE
  140.       END IF
  141. C-----CALCULATE HOURLY VALUES TO BE PRINTED
  142.       DO 890 J=1, INT (HRDY)
  143. C--------PAGE 1
  144.          HRPRT (1, J)=HROUT (1, J)/NROUT (J)
  145.          HRPRT (2, J)=HROUT (2, J)/NROUT (J)
  146.          HRPRT (3, J)=HROUT (3, J)/NROUT (J)
  147.          HRPRT (27, J)=HROUT (23, J)/NROUT (J)
  148.          HRPRT (28, J)=HROUT (24, J)/NROUT (J)
  149.          HRPRT (4, J)=HROUT (5, J)*DTIME
  150.          HRPRT (5, J)=HROUT (6, J)*DTIME
  151.          HRPRT (6, J)=HROUT (7, J)*DTIME
  152.          HRPRT (7, J)=HROUT (8, J)*DTIME
  153.          HRPRT (8, J)=HROUT (9, J)*DTIME
  154.          HRPRT (9, J)=HRPRT (6, J)+(HRPRT (7, J)+HRPRT (8, J))*BTUKWH
  155.          HRPRT (10, J)=HROUT (4, J)*DTIME
  156.          HRPRT (11, J)=(HROUT (18, J)+HROUT (19, J)+HROUT (20, J))*DTIME
  157. C--------PAGE 2
  158. C * *  CHANGED FROM /NROUT(J) TO *DTIME ON 9/25/87 BY RDF BELOW 5 LINES
  159.          HRPRT (13, J)=HROUT (10, J)*DTIME
  160.          HRPRT (14, J)=HROUT (11, J)*DTIME
  161.          HRPRT (15, J)=HROUT (12, J)*DTIME
  162.          HRPRT (16, J)=HROUT (13, J)*DTIME
  163.          HRPRT (17, J)=HROUT (14, J)*DTIME
  164.          HRPRT (18, J)=HRPRT (13, J)+HRPRT (14, J)+HRPRT (15, J)+
  165.      1      HRPRT (17, J)+HRPRT (16, J)
  166.          HRPRT (19, J)=HROUT (15, J)/NROUT (J)
  167.          HRPRT (20, J)=HRPRT (18, J)+HRPRT (19, J)
  168.          HRPRT (21, J)=HROUT (17, J)*DTIME
  169.          HRPRT (23, J)=HROUT (16, J)*DTIME
  170. C
  171.          HRPRT (22, J)=HRPRT (23, J)-HRPRT (21, J)
  172.          XLOAD=0.
  173.          IF (MODE.EQ.2) XLOAD=HRPRT (22, J)
  174.          HRPRT (12, J)=XLOAD+(HROUT (21, J)+HROUT (22, J))*DTIME
  175. C
  176.          HRPRT (24, J)=HROUT (21, J)*DTIME
  177.          HRPRT (25, J)=HROUT (22, J)*DTIME
  178.          HRPRT (26, J)=HRPRT (24, J)+HRPRT (25, J)
  179. C        HRPRT (27, J) IS DEFINED ABOVE
  180. C        HRPRT (28, J) IS DEFINED ABOVE
  181.          HRPRT (29, J)=HROUT (25, J)*DTIME*IBAS
  182.          HRPRT (30, J)=HROUT (26, J)/NROUT (J)
  183.          HRPRT (31, J)=SOLARH(J)
  184.          HRPRT (32, J)=HROUT (24, J)/NROUT (J)
  185.          HRPRT (33, J)=HROUT (27, J)*DTIME
  186.          IF (J.EQ.1) THEN
  187.             HRPRT (34, J)=HROUT (28, J)
  188.          ELSE
  189.             HRPRT (34, J)=HROUT (28, J)-HROUT (28, J-1)
  190.          END IF
  191.          HRPRT (35, J)=HROUT (29, J)/NROUT (J)
  192.          HRPRT (36, J)=HROUT (30, J)/NROUT (J)
  193.          HRPRT (37, J)=HROUT (31, J)/NROUT (J)
  194.          HRPRT (38, J)=HROUT (32, J)/NROUT (J)
  195.          HPRT(1,J)=HROT(1,J)*DTIME
  196.          HPRT(2,J)=HROT(2,J)*DTIME
  197.          HPRT(3,J)=HROT(3,J)*DTIME
  198.          ATOUT (1, J)=ATOUT (1, J)/NROUT (J)
  199.          ATOUT (2, J)=ATOUT (2, J)/NROUT (J)
  200.          ATOUT (3, J)=ATOUT (3, J)/NROUT (J)
  201.          ATOUT (4, J)=ATOUT (4, J)/NROUT (J)
  202.          ATOUT (5, J)=ATOUT (5, J)/NROUT (J)
  203.          ATOUT (7, J)=ATOUT (7, J)/NROUT (J)
  204.          ATOUT (8, J)=ATOUT (8, J)*DTIME
  205.          ATOUT (9, J)=ATOUT (9, J)*DTIME
  206.          ATOUT (10, J)=ATOUT (10, J)*DTIME
  207.          ATOUT (11, J)=ATOUT (11, J)*DTIME
  208.          ATOUT (12, J)=HROUT (32, J)/NROUT (J)
  209. C
  210. C--------CALCULATE MONTHLY TOTALS
  211.          OUTDY (IDAYM, 1)=OUTDY (IDAYM, 1)+HRPRT (2, J)/HRDY
  212.          OUTDY (IDAYM, 2)=OUTDY (IDAYM, 2)+HRPRT (3, J)/HRDY
  213.          OUTDY (IDAYM, 3)=OUTDY (IDAYM, 3)+HRPRT (1, J)/HRDY
  214.          OUTDY (IDAYM, 4)=OUTDY (IDAYM, 4)+SWGAVG/HRDY
  215.          OUTDY (IDAYM, 5)=OUTDY (IDAYM, 5)+RHAVG/HRDY
  216. C--------HEATING TOTALS
  217.          OUTDY (IDAYM, 6)=OUTDY (IDAYM, 6)+HRPRT (4, J)
  218. C        OUTDY (IDAYM, 7) IS EVALUATED BELOW (OUTSIDE OF DO LOOP)
  219.          OUTDY (IDAYM, 8)=OUTDY (IDAYM, 8)+HRPRT (24, J)
  220.          OUTDY (IDAYM, 9)=OUTDY (IDAYM, 9)+HRPRT (25, J)+HRPRT (29, J)
  221.          OUTDY (IDAYM, 10)=OUTDY (IDAYM, 10)+HRPRT (24, J)+
  222.      1      HRPRT (25, J)+HRPRT (29, J)
  223.          OUTDY (IDAYM, 11)=OUTDY (IDAYM, 11)+HRPRT (8, J)
  224.          OUTDY (IDAYM, 12)=OUTDY (IDAYM, 12)+HRPRT (7, J)
  225.          OUTDY (IDAYM, 13)=OUTDY (IDAYM, 13)+HRPRT (6, J)
  226.          OUTDY (IDAYM, 14)=OUTDY (IDAYM, 14)+HRPRT (6, J)+
  227.      1      BTUKWH*(HRPRT (7, J)+HRPRT (8, J))
  228. C        OUTDY (IDAYM, 15) IS EVALUATED BELOW (OUTSIDE OF DO LOOP)
  229. C--------MISC TOTALS (ADDED 12/85 BY FEJ)
  230.          OUTDY (IDAYM, 16)=OUTDY (IDAYM, 16)+HRPRT (30, J)/HRDY
  231.          OUTDY (IDAYM, 17)=OUTDY (IDAYM, 17)+HRPRT (31, J)
  232.          OUTDY (IDAYM, 18)=OUTDY (IDAYM, 18)+HRPRT (32, J)/HRDY
  233.          OUTDY (IDAYM, 19)=OUTDY (IDAYM, 19)+HRPRT (33, J)
  234.          OUTDY (IDAYM, 20)=OUTDY (IDAYM, 20)+HRPRT (5, J)
  235.          OUTDY (IDAYM, 21)=OUTDY (IDAYM, 21)+HRPRT (35, J)/HRDY
  236.          OUTDY (IDAYM, 22)=OUTDY (IDAYM, 22)+HRPRT (15, J)
  237.          OUTDY (IDAYM, 23)=OUTDY (IDAYM, 23)+HRPRT (36, J)/HRDY
  238.          OUTDY (IDAYM, 24)=OUTDY (IDAYM, 24)+HRPRT (37, J)/HRDY
  239. C--------COOLING TOTALS
  240.          OUTDY (IDAYM , 25)=OUTDY (IDAYM, 25)+HRPRT (10, J)
  241. C        OUTDY (IDAYM, 26) IS EVALUATED BELOW (OUTSIDE OF DO LOOP)
  242.          OUTDY (IDAYM, 27)=OUTDY (IDAYM, 27)-HRPRT (23, J)
  243.          OUTDY (IDAYM, 28)=OUTDY (IDAYM, 28)+HROUT (18, J)*DTIME
  244.          OUTDY (IDAYM, 29)=OUTDY (IDAYM, 29)+HROUT (19, J)*DTIME
  245.          OUTDY (IDAYM, 30)=OUTDY (IDAYM, 30)+HROUT (20, J)*DTIME
  246.          OUTDY (IDAYM, 31)=OUTDY (IDAYM, 31)+HRPRT (11, J)
  247. C        OUTDY (IDAYM, 32 TO 38) EVALUATED BELOW (OUTSIDE OF DO LOOP)
  248.          OUTDY (IDAYM, 39)=OUTDY (IDAYM, 39)+HRPRT (38, J)/HRDY
  249. C        OUTDY (IDAYM, 40 TO 44) EVALUATED BELOW (OUTSIDE OF DO LOOP)
  250. 890      CONTINUE
  251.       OUTDY (IDAYM, 7)=ICYC1
  252.       OUTDY (IDAYM , 15)=RATIO (OUTDY (IDAYM, 10), OUTDY (IDAYM, 14),
  253.      1   1.0)
  254.       OUTDY (IDAYM, 26)=ICYCCP
  255.       OUTDY (IDAYM, 32)=RATIO (OUTDY (IDAYM, 27), OUTDY (IDAYM, 31),
  256.      1   0.001)
  257.       WRITE(60, 4000) CDAY (IDAYM), CMONTH (KM), ICITY, JULDAY
  258.       WRITE(60, 4010) REDC, REDH
  259.       WRITE(60, 4020) IDES
  260. C-----HUMIDIFIER OUTPUT
  261.       OUTDY (IDAYM, 33)=HUMON*DTIME
  262.       OUTDY (IDAYM, 34)=ICYC6
  263.       OUTDY (IDAYM, 35)=QSPT * DTIME
  264.       OUTDY (IDAYM, 36)=QWAS*DTIME
  265.       OUTDY (IDAYM, 37)=QHUMT*DTIME
  266.       OUTDY (IDAYM, 38)=WATER*DTIME
  267. C-----COLLECT DAILY MAX/MIN'S
  268.       OUTDY (IDAYM, 40)=TONMAX
  269.       OUTDY (IDAYM, 41)=SWGMAX
  270.       OUTDY (IDAYM, 42)=TIMAX
  271.       OUTDY (IDAYM, 43)=TIMAXN
  272.       OUTDY (IDAYM, 44)=TIMIN
  273.       DO 900 J=1, INT (HRDY)
  274.          J1=J-1
  275.          WRITE(60, 4030) J1 , J, (HRPRT (I, J), I=1, 3),
  276.      1      HRPRT (27, J), HRPRT (28, J), (HRPRT (K, J), K=4, 12)
  277. 900      CONTINUE
  278.       IF (IQPRT.GT.0) THEN
  279.          DO 911 I=1 , 14
  280.             K=I+12
  281.             TOTALS (I)=0.
  282. C  TOTALS USED FOR STRUCTURE ENERGY BALANCE            
  283. C  NOTE: TOTALS(12) IS USED IN THE DUCT ENERGY BALANCE
  284.             DO 910 J=1, INT (HRDY)
  285.                TOTALS (I)=TOTALS (I)+HRPRT (K, J)
  286. 910            CONTINUE
  287. 911         CONTINUE
  288.  
  289. C    DUCT ENERGY BALANCE
  290.          DO 913 I=1,3
  291.            TOTLS(I)=0.
  292.            DO 912 J=1,INT(HRDY)
  293.            TOTLS(I)=TOTLS(I)+HPRT(I,J)
  294.   912      CONTINUE
  295.   913    CONTINUE
  296.          WRITE(60, 4040) CDAY (IDAYM) , CMONTH (KM), ICITY,
  297.      1      JULDAY
  298.          WRITE(60, 4010) REDC, REDH
  299.          WRITE(60, 4050) IDES
  300.          DO 915 J=1 , INT (HRDY)
  301.             J1=J-1
  302.             WRITE(60, 4060) J1 , J, (HRPRT (I, J), I=13, 26)
  303. 915         CONTINUE
  304.          WRITE(60, 4070) (TOTALS (I) , I=1, 13, 2),
  305.      1      (TOTALS (J), J=2, 14, 2)
  306.          
  307. C   DUCT ENERGY BALANCE
  308.          IF (TOTALS(12).EQ.0.)THEN
  309.            DCTBAL = 9999.
  310.          ELSE
  311.            DCTBAL=100.*(TOTLS(1)+TOTLS(2)+TOTLS(3)-TOTALS(12))/
  312.      +     TOTALS(12)
  313.          ENDIF
  314.          WRITE(60,4081)DCTBAL,TOTLS,TOTALS(12)
  315.          IF (IAPRT.EQ.1) THEN
  316. C           PRINT ATTIC SUMMARY
  317.             WRITE(60, 4000) CDAY (IDAYM), CMONTH (KM), ICITY,
  318.      1         JULDAY
  319.             WRITE(60, 4010) REDC, REDH
  320.             WRITE(60, 7050) IDES
  321.             DO 945 J=1 , INT (HRDY)
  322.                J1=J-1
  323.                WRITE(60, 7060) J1 , J, ATOUT (12, J),
  324.      1            (ATOUT (I, J), I=1, 5), (ATOUT (I, J), I=7, 11),
  325.      2            HRPRT (14, J), ATOUT (11, J)+HRPRT (14, J)
  326. 945            CONTINUE
  327.            DO 946 I=15, 20
  328.               TOTALS (I)=0.
  329. 946           CONTINUE
  330.            DO 947 J=1, INT (HRDY)
  331.               TOTALS (15)=TOTALS (15)+ATOUT (8, J)
  332.               TOTALS (16)=TOTALS (16)+ATOUT (9, J)
  333.               TOTALS (17)=TOTALS (17)+ATOUT (10, J)
  334.               TOTALS (18)=TOTALS (18)+ATOUT (11, J)
  335.               TOTALS (19)=TOTALS (19)+HRPRT (14, J)
  336.               TOTALS (20)=TOTALS (20)+HRPRT (14, J)+ATOUT (11, J)
  337. 947           CONTINUE
  338.             WRITE(60, 7070) (TOTALS (I), I=15, 20)
  339.          END IF
  340.       END IF
  341. C-----CHECK IF WANT MEAN SUMMARY ONLY
  342.       IF (IMEAN.EQ.1 .AND. IDAYM.EQ.3) THEN
  343.          WEIGHT=(1.-WTFCT)/2.
  344.          DO 954 J=1, 39
  345.             OUTDY (8, J)=(WTFCT*OUTDY (1, J)+WEIGHT*(OUTDY (2, J)+
  346.      1         OUTDY (3, J)))*IPASY (J)
  347.  954        CONTINUE
  348.          OUTDY (8, 15)=RATIO (OUTDY (8, 10), OUTDY (8, 14), 1.0)
  349.          OUTDY (8, 32)=RATIO (OUTDY (8, 27), OUTDY (8, 31), 0.001)
  350. C--------PRINT SUMMARIES MEAN, MAX, MIN, AND WTD AVG
  351.          WRITE(60, 5000) CDAY (IDAYM), CMONTH (KM), ICITY,
  352.      1      JULDAY, REDC, REDH, IDES
  353.          WRITE(60,*) ' AVERAGE CYCLIC ROOM TEMP BELOW IS FOR ZONE '
  354.      +              ,NLVGRM
  355.          WRITE(60,*) '  (NLVGRM IS SET AS A PARAMETER IN ENDLP1,2.FOR)'
  356.          WRITE(60, 5010) WTFCT, WEIGHT, WEIGHT,
  357.      1      ((OUTDY (I, J), I=1, 4), J=1, 5)
  358.          IF (MODE.NE.2) THEN
  359.             WRITE(60, 5020) ((OUTDY (I, J), J=6, 7), I=1, 4),
  360.      1         ((OUTDY (I, J), I=1, 4), J=8, 15)
  361.          END IF
  362.          IF (MODE.NE.3) THEN
  363.             WRITE(60, 5030) ((OUTDY (I, J), J=25, 26), I=1, 4),
  364.      1         ((OUTDY (I, J), I=1, 4), J=27, 32)
  365.          END IF
  366.          IF (CFMBP.GT.0.0) WRITE(60, 5090) ((OUTDY (I, J), I=1, 4),
  367.      1      J=33, 38)
  368.       ELSE
  369. C--------PRINT SUMMARIES, DAILY AND CUMULATIVE
  370.          WRITE(60, 5040) CDAY (IDAYM), KDAYM, CMONTH (KM),
  371.      1      ICITY, JULDAY, REDC, REDH, IDES
  372.          IF (HBKRNL.LT.0 .OR. IDAYM.GT.1) THEN
  373.             DO  956 J=1, 39
  374.                IF (IPASS (J).EQ.0) THEN
  375. C                 MAINTAIN RUNNING (CUMULATIVE) AVERAGE
  376.                   IF (HBKRNL.LT.0.0) THEN
  377.                         OUTDY (8, J)=(OUTDY (8, J)*(IDAYM-1)+
  378.      1                  OUTDY (IDAYM, J))/IDAYM
  379.                   ELSE
  380.                      OUTDY (8, J)=(OUTDY (8, J)*(IDAYM-2)+
  381.      1                  OUTDY (IDAYM, J))/(IDAYM-1)
  382.                   END IF
  383.                ELSE
  384. C                 MAINTAIN RUNNING (CUMULATIVE) SUM
  385.                   OUTDY (8, J)=(OUTDY (8, J)+OUTDY (IDAYM, J))
  386.                END IF
  387.  956           CONTINUE
  388.             OUTDY (8, 15)=RATIO (OUTDY (8, 10), OUTDY (8, 14), 1.0)
  389.             OUTDY (8, 32)=RATIO (OUTDY (8, 27), OUTDY (8, 31), 0.001)
  390.             DO  960 J=40, 43
  391.                IF (OUTDY (IDAYM, J).GT.OUTDY (8, J)) OUTDY (8, J)=
  392.      1            OUTDY (IDAYM, J)
  393.  960           CONTINUE
  394.             IF (OUTDY (IDAYM, 44).LT.OUTDY (8, 44)) OUTDY (8, 44)=
  395.      1         OUTDY (IDAYM, 44)
  396.          END IF
  397. C--------MONTHLY TOTAL FOR TOTPOW AND SPF
  398.          WRITE(60, 5050) (OUTDY (IDAYM, J), OUTDY (8, J), J=1, 5)
  399.          IF (MODE.NE.2) THEN
  400.             WRITE(60, 5060) OUTDY (IDAYM, 6), OUTDY (IDAYM, 7),
  401.      1         OUTDY (8, 6), OUTDY (8, 7),
  402.      2         (OUTDY (IDAYM, J), OUTDY (8, J), J=8, 15)
  403.          END IF
  404.          IF (MODE.NE.3) THEN
  405.             WRITE(60, 5070) OUTDY (IDAYM, 25), OUTDY (IDAYM, 26),
  406.      1         OUTDY (8, 25), OUTDY (8, 26),
  407.      2         (OUTDY (IDAYM, J), OUTDY (8, J), J=27, 32)
  408.          END IF
  409.          IF (CFMBP.GT.0.0) WRITE(60, 5090)
  410.      1      ((OUTDY (I, J), I=1, 8, 7), J=33, 38)
  411.       END IF
  412.       CALL QACCUMD (IDAYM)
  413. C      IF (IMEAN.EQ.1 .AND. ICOMF.EQ.0) THEN
  414. C         DO 970 I=1, 231
  415. C            OUTCOM (I, 1, IDAYM)=COMFTT (I, 1)
  416. C 970         CONTINUE
  417. C      END IF
  418. C
  419.       DTIME = DTIM1
  420.       RETURN
  421.   991 STOP 'ENDLP2:EOF ON RPEAK READ ON TAPE1'
  422.   500 FORMAT(1X,G13.5)
  423.   504 FORMAT(14X,6I5)
  424. 4000  FORMAT ('1**** HOURLY TEMPERATURE / ENERGY SUMMARY FOR THE ', A8,
  425.      +   ' SIMULATION DAY OF ', A5, ' IN ', A4, '.   JULIAN DAY=', I4)
  426. 4010  FORMAT (' BASE UNIT COOLING CAPACITY MULTIPLIED BY ', F10.3, /,
  427.      +       ' BASE UNIT HEATING CAPACITY MULTIPLIED BY ', F10.3)
  428. 4020  FORMAT (1X, 15A4, //,
  429.      +   ' TIME OF DAY      TO     TI    RHI   TRET   TBAS   BURNER BL',
  430.      +   'OWER      FUEL   BLOWER BURNER     TOTAL  AIR CONDITIONER   ',
  431.      +   '  TOTAL', /,
  432.      +   T56, 'ON     ON     INPUT   ENERGY', 10X, 'FURNACE', 8X,
  433.      +   'ON ENERGY    OUTPUT', /, T85, 'ENERGY    ENERGY     TIME', /,
  434.      +   T56, 'HR     HR       BTU    KW-HR  KW-HR       BTU        HR',
  435.      +   '  KW-HR       BTU', /)
  436. 4030  FORMAT (I3, ':00-', I2, ':00 ', 5F7.1, 2X, 2F7.2, 2X, F8.0, 2X,
  437.      +   2F7.2, 2X, F8.0, 3X, 2F7.2, 3X, F8.0, /)
  438. 4040  FORMAT ('1*****HOURLY LOAD SUMMARY FOR THE ', A8,
  439.      +   ' SIMULATION DAY OF ', A5, ' IN ', A4, '.  JULIAN DAY=', I4)
  440. 4050  FORMAT (1X, 15A4, /,
  441.      +   T77, 'AIR CONDITIONER OUTPUT     AIR-SIDE EQUIP OUTPUT', /,
  442.      +   ' TIME OF DAY  WALLS CLG-ATTC INFL  WINDOWS MISC  SENSIBLE  L',
  443.      +   'ATENT   TOTAL  SENSIBLE  LATENT   TOTAL        NET    MISC  ',
  444.      +   'TOTAL', /,
  445.      +   T17, 'BTU    BTU    BTU    BTU    BTU       BTU     BTU     B',
  446.      +   'TU       BTU     BTU     BTU                       BTU', /,
  447.      +   T107, 'BTU     BTU', /)
  448. 4060  FORMAT (I3, ':00-', I2, ':00', 4F7.0, F8.0,1X, 3F8.0, 2X, 3F8.0,
  449.      +        1X,3F9.0, /)
  450. 4070  FORMAT ('0TOTALS', F12.0, 2F14.0, 2F18.0, F16.0, F18.0, /,
  451.      +   12X, 2F14.0, F17.0, F16.0, 2F18.0, F16.0)
  452. 4081  FORMAT(1X,'DUCT ENERGY BALANCE= ',G13.5,' PCT'/
  453.      +10X,'TOTLS(1)--DUCT HEAT LOSS TO OTHER NON-CONDITIONED SPACES= ',
  454.      +G13.5/10X,'TOTLS(2)--NET HEAT DELIVERED TO CONDITIONED ZONES= ',
  455.      +G13.5/10X,'TOTLS(3)--HEAT LOSS FROM DUCTS TO CONDITIONED ZONES= ',
  456.      +G13.5/10X,'TOTALS(12)-HEAT DELIVERED TO DUCTS FROM FURNACE= ',
  457.      +G13.5)
  458. 4090  FORMAT(1H1)
  459. C *** MONTHLY SUMMARY OUTPUT
  460. 5000  FORMAT ('1MEAN/MAX/MIN SUMMARY FOR ', A5, ' SIMULATION DAY OF ',
  461.      +   A5, ' IN ', A4, 5X, '****  JULIAN DAY=', I3, /,
  462.      +   5X, 'BASE UNIT COOLING CAPACITY MULTIPLIED BY ', F10.3, /,
  463.      +   5X, 'BASE UNIT HEATING CAPACITY MULTIPLIED BY ', F10.3, /,
  464.      +   5X, 15A4, /,
  465.      +   '0', T58, 'MEAN', T76, 'HIGH', T95, 'LOW', T109, 'MONTHLY', /,
  466.      +   T59, 'DAY', T73, 'EXTREME', T91, 'EXTREME', T108, 'WEIGHTED',
  467.      +   /,
  468.      +   T109, 'AVERAGE', //)
  469. 5010  FORMAT (' WEIGHTING FACTORS', T52, 3 (F10.3,8X), /,
  470.      +   '0MEAN ROOM TEMPERATURE', T48, 'DEGF', 4 (F10.1, 8X), /,
  471.      +   ' MEAN ROOM RELATIVE HUMIDITY', T51, '%', 4 (F10.1, 8X), /,
  472.      +   ' MEAN OUTDOOR DRY BULB', T48, 'DEGF', 4 (F10.1, 8X), /,
  473.      +   '0AVERAGE CYCLIC ROOM TEMPERATURE SWING', T48, 'DEGF',
  474.      +   4 (F10.1, 8X), /,
  475.      +   ' AVERAGE CYCLIC ROOM REL HUM SWING', T51, '%', 4 (F10.1, 8X),
  476.      +   /)
  477. 5020  FORMAT (//' *** HEATING ***', /,
  478.      +   /' TOTAL BURNER ON TIME (CYCLES)', T50, 'HR', 4 (F10.2, '(',
  479.      +   F6.0, ')'), /,
  480.      +   /' NET HEATING OUTPUT', T49, 'BTU', 4 (F12.0, 6X), /,
  481.      +   ' MIS HEATING OUTPUT', T49, 'BTU', 4 (F12.0, 6X), /,
  482.      +   ' TOTAL HEATING OUTPUT', T49, 'BTU', 4 (F12.0, 6X), /,
  483.      +   /' TOTAL BURNER FAN ENERGY', T47, 'KW-HR', 4 (F10.2, 8X), /,
  484.      +   ' TOTAL BLOWER ENERGY', T47, 'KW-HR', 4 (F10.2, 8X), /,
  485.      +   ' TOTAL FUEL INPUT ENERGY', T49, 'BTU', 4 (F12.0, 6X), /,
  486.      +   ' TOTAL ENERGY (HEATING)', T49, 'BTU', 4 (F12.0, 6X), /,
  487.      +   /' HEATING PERFORMANCE FACTOR', 23X, 4 (F12.3, 6X), ///)
  488. 5030  FORMAT (//' *** COOLING ***', /,
  489.      +   /' TOTAL COMPRESSOR ON TIME(CYCLES)', T50, 'HR', 4 (F10.2, '(',
  490.      +   F6.0, ')'), /,
  491.      +   /'TOTAL COOLING BY AIR CONDITIONING', T49, 'BTU', 4 (F10.0,
  492.      +   8X), /,
  493.      +   ' TOTAL COMPRESSOR ENERGY', T47, 'KW-HR', 4 (F10.2, 8X), /,
  494.      +   ' TOTAL INDOOR FAN ENERGY', T47, 'KW-HR', 4 (F10.2, 8X), /,
  495.      +   ' TOTAL OUTDOOR FAN ENERGY', T47, 'KW-HR', 4 (F10.2, 8X), /,
  496.      +   ' TOTAL ENERGY (COOLING)', T47, 'KW-HR', 4 (F10.2, 8X), /,
  497.      +   /' COOLING SEASONAL PERFORMANCE FACTOR    BTU/WATT-HR',
  498.      +   4 (F10.2, 8X), /)
  499. 5040  FORMAT (///' ***DAILY AND CUMULATIVE SUMMARY FOR THE ', A8,
  500.      +   ' SIMULATION DAY (DAY=', I3, ') OF ', A5, ' IN ', A4, 5X,
  501.      +   '****  JULIAN DAY=', I3, /,
  502.      +   5X, 'BASE UNIT COOLING CAPACITY MULTIPLIED BY ', F10.3, /,
  503.      +   5X, 'BASE UNIT HEATING CAPACITY MULTIPLIED BY ', F10.3, /,
  504.      +   5X, 15A4, /,//
  505.      +   1X, T73, 'MONTHLY', /,
  506.      +   T55, 'CURRENT', T70, 'CUMULATIVE', /,
  507.      +   T59, 'DAY', T70, 'OR AVERAGE', //)
  508. 5050  FORMAT (' MEAN ROOM TEMPERATURE', T48, 'DEGF', 2 (F10.1, 8X), /,
  509.      +   ' MEAN ROOM RELATIVE HUMIDITY', T51, '%', 2 (F10.1, 8X), /,
  510.      +   ' MEAN OUTDOOR DRY BULB', T48, 'DEGF', 2 (F10.1, 8X), /,
  511.      +   '0AVERAGE CYCLIC ROOM TEMPERATURE SWING', T48, 'DEGF',
  512.      +   2 (F10.1, 8X), /,
  513.      +   ' AVERAGE CYCLIC ROOM REL HUM SWING', T51, '%',
  514.      +   2 (F10.1, 8X), /)
  515. 5060  FORMAT (//' *** HEATING ***', /,
  516.      +   '0TOTAL BURNER ON TIME (CYCLES)', T50, 'HR', 2 (F10.2, '(',
  517.      +   F6.0, ')'), /,
  518.      +   /' NET HEATING OUTPUT', T49, 'BTU', 2 (F12.0, 6X), /,
  519.      +   ' MIS HEATING OUTPUT', T49, 'BTU', 2 (F12.0, 6X), /,
  520.      +   ' TOTAL HEATING OUTPUT', T49, 'BTU', 2 (F12.0, 6X), /,
  521.      +   /' TOTAL BURNER FAN ENERGY', T47, 'KW-HR', 2 (F10.2, 8X), /,
  522.      +   ' TOTAL BLOWER ENERGY', T47, 'KW-HR', 2 (F10.2, 8X), /,
  523.      +   ' TOTAL FUEL INPUT ENERGY', T49, 'BTU', 2 (F12.0, 6X), /,
  524.      +   ' TOTAL ENERGY (HEATING)', T49, 'BTU', 2 (F12.0, 6X), /,
  525.      +   /' HEATING PERFORMANCE FACTOR', 23X, 2 (F12.3, 6X), ///)
  526. 5070  FORMAT (//' *** COOLING ***', /,
  527.      +   /' TOTAL COMPRESSOR ON TIME(CYCLES)', T50, 'HR',
  528.      +   2 (F10.2, '(', F6.0, ')'), /,
  529.      +   /' TOTAL COOLING BY AIR CONDITIONING', T49, 'BTU',
  530.      +   2 (F10.0, 8X), /,
  531.      +   /' TOTAL COMPRESSOR ENERGY', T47, 'KW-HR', 2 (F10.2, 8X), /,
  532.      +   ' TOTAL INDOOR FAN ENERGY', T47, 'KW-HR', 2 (F10.2, 8X), /,
  533.      +   ' TOTAL OUTDOOR FAN ENERGY', T47, 'KW-HR', 2 (F10.2, 8X), /,
  534.      +   ' TOTAL ENERGY (COOLING)', T47, 'KW-HR', 2 (F10.2, 8X), /,
  535.      +   /' COOLING SEASONAL PERFORMANCE FACTOR    BTU/WATT-HR',
  536.      +   2 (F10.2, 8X), /)
  537. 5090  FORMAT (//' *** HUMIDIFIER ***', /,
  538.      +   /' TOTAL HUMIDIFIER ON TIME', T50, 'HR', 2 (F10.2, 8X), /,
  539.      +   ' TOTAL HUMIDIFIER CYCLES', T52, 2 (F10.0, 8X), /,
  540.      +   ' TOTAL ENTHALPY OF SUPPLY WATER ', T49, 'BTU', 2 (F10.1, 8X),
  541.      +   /,
  542.      +   ' TOTAL ENTHALPY OF WASTE WATER ', T49, 'BTU', 2 (F10.1, 8X),
  543.      +   /,
  544.      +   ' TOTAL HEAT REMOVED FROM THE AIR', T49, 'BTU', 2 (F10.1, 8X),
  545.      +   /,
  546.      +   ' TOTAL WATER ADDED TO THE AIR', T50, 'LB', 2 (F10.2, 8X))
  547. 7050  FORMAT (1X, 15A4, /,
  548.      +   /' TIME OF DAY    TATTIC  SOLAIR  TW1(5)  TW4(5)  TW1(6)  TW4('
  549.      +  ,'6)    TPA  QLOSRFA  QCONRF   QSKY    QCRAD   QWALL6   CEILTO',
  550.      +   'T', /)
  551. 7060  FORMAT (I3, ':00-', I2, ':00 ', 7F8.1, 2X, 6F8.0, /)
  552. 7070  FORMAT('0TOTALS', 55X, 6F10.1)
  553. C
  554.       END
  555.