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 / ENDLP1.FOR < prev    next >
Text File  |  1992-05-08  |  4KB  |  154 lines

  1.       SUBROUTINE ENDLP1(IDAYM,IREP, IRH, ISWING,
  2.      +NROOMS, POWA, RHA, RHDIR, RHIO, RLOADL, RLOADS, TDIR, TIMAX,
  3.      +TIMAXN, TIMIN, TIO, TS, IDBG)
  4. C      SUBROUTINE ENDLP1(COMFTT, DTIM1N, IREP, IRH, ISWING,
  5. C     +NROOMS, POWA, RHA, RHDIR, RHIO, RLOADL, RLOADS, TDIR, TIMAX,
  6. C     +TIMAXN, TIMIN, TIO, TS, IDBG)
  7. C
  8. C-----PERFORMS CALCULATIONS FOR THE END OF INNER TIMELOOP
  9. C
  10. CMDK NLVGRM
  11. CMDK NZN
  12. CMDK NZW
  13. C-----COMMON BLOCKS
  14. CMDK BLKBSF
  15. CMDK BLKQS
  16. CMDK DUCTS2
  17. CMDK HUMIDC
  18. CMDK IZZQ
  19. CMDK QUAYLE
  20. CMDK SIMA
  21. CMDK TEMP1
  22. CMDK TEMPB
  23. CMDK TIMEB
  24. CMDK BLKTM2
  25. CMDK TSTATC
  26. CMDK WIBLK
  27. C
  28. C      REAL    COMFTT (11, 21)
  29. C
  30. C-----LOCAL VARIABLES
  31.       LOGICAL I21F
  32.       LOGICAL FIRST
  33. C      INTEGER ID (40), IH (40)
  34.       REAL TDAR(NZN),TAL(NZN),TDARN(NZN),TAMN(NZN),TAMX(NZN)
  35. C
  36. C-----INITIALIZATIONS
  37. C      DATA ID     /1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 30*11/
  38. C      DATA IH     /1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  39. C     1   16, 17, 18, 19, 20, 20*21/
  40. C      DATA FIRST/.TRUE./
  41.       DATA I21F/.TRUE./
  42. C
  43.       RNSBDV=1./NSUBDV
  44.       IF (IMODE.EQ.1) THEN
  45.          IF(I21F)THEN
  46.           I21F=.FALSE.
  47.           OPEN(21,FILE='TAPE21',STATUS='NEW',IOSTAT=IO21)
  48.           IF(IO21.NE.0)THEN
  49.            WRITE(60,*)' ENDLP1: CANT OPEN TAPE21 WITH COOLING DATA'
  50.            STOP ' ENDLP1: CANT OPEN TAPE21 WITH COOLING DATA'
  51.            ENDIF
  52.           ENDIF
  53.          WRITE (21, 500) TINDEX, POWA*RNSBDV, RLOADS*RNSBDV,
  54.      1      RLOADL*RNSBDV
  55.          END IF
  56.       RHA=RHA*RNSBDV
  57.       DO  2 J=1,NROOMS
  58.       QDCTBA(J)=QDCTBA(J)*RNSBDV
  59.     2 TA(J)=TA(J)*RNSBDV
  60.       TATTA(1)=TATTA(1)*RNSBDV
  61.       IF(NATC.EQ.2)TATTA(2)=TATTA(2)*RNSBDV
  62.       TBASA=TBASA*RNSBDV
  63.       TCRWA=TCRWA*RNSBDV
  64.       TS=TS*RNSBDV
  65.       DO 8 I=1,NZW
  66.       QCSURF(I)=QCSURF(I)*RNSBDV
  67.       IF(IDAYM.EQ.NDAYM)QCSURFS(I)=QCSURFS(I)+QCSURF(I)
  68.       IF(IDBG.EQ.1)WRITE(60,505)I,QCSURF(I)
  69.     8 CONTINUE
  70.       IF(IDAYM.EQ.NDAYM)THEN
  71.         TBASM=TBASM+TBASA
  72.         NTBASM=NTBASM+1
  73.       ENDIF
  74.       DO 10 I=1,2
  75.       QCEIL(I)=QCEIL(I)*RNSBDV
  76.       QROOF(I)=QROOF(I)*RNSBDV
  77.       IF(IDBG.EQ.1)WRITE(60,506)I,QCEIL(I),QROOF(I)
  78.    10 CONTINUE
  79.       IF(FIRST)THEN
  80.          DO 15 I=1,NROOMS
  81.          TAL(I)=TA(I)
  82.          TDAR(I)=0.
  83.          TAMN(I)=0.
  84.          TAMX(I)=0.
  85.    15    CONTINUE
  86.          ENDIF
  87.       TDIRN=TA(NLVGRM)-TIO
  88.       RHDIRN=RHA-RHIO
  89.       DO 20 I=1, IZT+NATC
  90.       TMP(1,I)=TMPN(1,I)
  91.       TMP(2,I)=TMPN(2,I)
  92.       TMP(3,I)=TMPN(3,I)
  93.       TMP(4,I)=TMPN(4,I)
  94.    20 CONTINUE
  95.       IF (IREP.GE.NDPRE) THEN
  96. C--------COMFORT INDEX
  97. C         IF (ICOMF.NE.1 .AND. TI(NLVGRM).GE.65.) THEN
  98. C            IDRYB=(TI(NLVGRM)-65.)*.5+1.
  99. C  NOTE
  100. C            ISHUM=WI(NLVGRM)*1000.+1.
  101. C            COMFTT (ID (IDRYB), IH (ISHUM))=
  102. C     1         COMFTT (ID (IDRYB), IH (ISHUM))+DTIM1N
  103. C         END IF
  104.          IF (TDIRN*TDIR.LT.0.) THEN
  105. C-----------TEMP HAS CHANGED DIRECTION: CALC SWING AND TRACK MAX/MIN'S
  106.             ISWING=ISWING+1
  107.             IF (TIO.GT.TIMAX) TIMAX=TIO
  108.             IF (TIO.GT.TIMAXN .AND. SOLARH(IT).LE.0.0)
  109.      1         TIMAXN=TIO
  110.             IF (TIO.LT.TIMIN) TIMIN=TIO
  111.          END IF
  112.          IF (RHDIRN*RHDIR.LT.0.) THEN
  113.             IRH=IRH+1
  114.             WRITE(1,501)RHIO
  115.          END IF
  116.       END IF
  117.       TIO=TA(NLVGRM)
  118.       RHIO=RHA
  119.       TDIR=TDIRN
  120.       RHDIR=RHDIRN
  121.       IF(.NOT.FIRST)THEN
  122.         DO 40 I=1,NROOMS
  123.         TDARN(I)=TA(I)-TAL(I)
  124.         IF(TDARN(I)*TDAR(I).LT.0.)THEN
  125.           IF(TA(I).GT.TAL(I))THEN
  126. C                         TAL IS A MIN. TEMP
  127.             TAMN(I)=TAL(I)
  128.             IF(TAMX(I).NE.0.)THEN
  129.               SWNG=TAMX(I)-TAMN(I)
  130.               IF(I.EQ.1)WRITE(11,502)I,TAMN(I),TAMX(I),SWNG
  131.               IF(I.EQ.2)WRITE(11,503)I,TAMN(I),TAMX(I),SWNG
  132.               IF(I.EQ.3)WRITE(11,504)I,TAMN(I),TAMX(I),SWNG
  133.               ENDIF
  134.           ELSE
  135. C                        TAL IS A MAX. TEMP
  136.             TAMX(I)=TAL(I)
  137.             ENDIF
  138.           ENDIF
  139.         TDAR(I)=TDARN(I)
  140.         TAL(I)=TA(I)
  141.   40    CONTINUE
  142.         ENDIF
  143.        FIRST=.FALSE.
  144.       RETURN
  145. C
  146.   500 FORMAT (1X, F12.5, 3 (1X, E10.4))
  147.   501 FORMAT(1X,G13.5)
  148.   502 FORMAT(1X,I5,3G13.5)
  149.   503 FORMAT(10X,I5,3G13.5)
  150.   504 FORMAT(19X,I5,3G13.5)
  151.   505 FORMAT(10X,'IZW,QCSURF= ',I5,G13.5)
  152.   506 FORMAT(12X,'IA,QCEIL,QROOF= ',I4,2G13.5)
  153.       END
  154.