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 / STRCTL.FOR < prev    next >
Text File  |  1992-05-09  |  29KB  |  710 lines

  1.       SUBROUTINE STRCTL(IDBG,NZONG) 
  2. C-----READS STRUCTURE INFORMATION FOR RESIDENTIAL SIMULATION PROGRAM
  3. C  NOTES:  1. IN BASMT ZONE, INPUT VALUES FOR THE CEILING AS IF IT
  4. C             WERE AN INTERIOR PARTITION BETWEEN ZONES.  ENTER BASE-
  5. C             MENT ENCLOSURE DATA AFTER OTHER ZONE DATA 
  6. C-----CONSTANTS 
  7. CMDK NKONST
  8. CMDK NRF
  9. CMDK NWL
  10. CMDK NWN
  11. CMDK NWZN
  12. CMDK NZN
  13. CMDK NZW
  14. C-----COMMON BLOCKS 
  15. CMDK CNSTRK
  16. CMDK BLKFMI
  17. CMDK ENCBK1
  18. CMDK ENCBK2
  19. CMDK ENCBLK
  20. CMDK DUCTS4
  21. CMDK IRDFQ
  22. CMDK IWLS
  23. CMDK IZPART
  24. CMDK IZZQ
  25. CMDK MZON1
  26. CMDK NCR
  27. CMDK QUAYCH
  28. CMDK ROOF
  29. CMDK STRUCA
  30. CMDK SURFAR
  31. CMDK WNDBLK
  32.       CHARACTER*1 IDEXPI
  33.       CHARACTER*1 IDXP (10), IFXDI (4)
  34.       CHARACTER*4 NHEADE(10)
  35. C-----INITIALIZATIONS 
  36.       DATA IDXP   /'N', 'E', 'S', 'W', 'C', 'F', 'I','B','G','H'/ 
  37.       NLEAKS=0
  38. C         SET SHADING ALWAYS FOR CONSTRUCT 11 (SEE BLKDAT)      
  39.       IFXL(1,11)=4
  40. C ZERO NWALLA,NRMA,AND IZSET ARRAYS 
  41.       CALL ZERVI(NZN,NWALLA)
  42.       CALL ZERVI(NZN,NRMA)
  43.       CALL ZERVI(NZW,IZSET) 
  44. C  NOTE:MULTIPLE INTERIOR WALLS THAT ARENT SEPARATING ZONES AND 
  45. C       HAVE SAME CONSTRUCT NO. SHOULD BE ENTERED CONSECUTIVELY 
  46.       WRITE(60,524)
  47.       CALL FLUSH(6)
  48. C  ---READ DATA THAT IS TO BE LOADED INTO STRUCTURE FILE
  49. C   NIZ IS DIMENSION OF IZWSS AND IZWSV SET IN CMDECKS(6*NZN)
  50.       CALL ZERVI(NIZ,IZWSS) 
  51.       NIZWS=0 
  52.       IZW=0 
  53.       NW=0
  54.       IBAS=0
  55.       ICRW=0
  56. C      
  57.       OPEN(10,FILE='TAPE10',STATUS='OLD',IOSTAT=IO10)
  58.       IF(IO10.NE.0)THEN
  59.         WRITE(60,*)' STRCTL: CANT OPEN TAPE10 WITH STRUCTURE DATA'
  60.         STOP ' STRCTL: CANT OPEN TAPE10 WITH STRUCTURE DATA'
  61.         ENDIF
  62. C     IFXDI   ARRAY OF UP TO FOUR COMPASS DIRECTIONS THAT ARE ALWAYS
  63. C             SHADED
  64. C     WROTA   ANGLE THAT STRUCTURE IS ROTATED FROM THE CARDINAL COMPASS 
  65. C             DIRECTIONS (+ CLOCKWISE, - COUNTER-CLOCKWISE) 
  66.       READ(10, 500) IFXDI, WROTA 
  67. C     CONVERT IFXDI TO NUMERIC VALUE IN IFXDS ARRAY 
  68.       NSQ=0 
  69.       DO 81 I=1, 4
  70.          IFXDS (I)=0
  71.          DO 80 J=1, 4 
  72.             IF (IFXDI (I).EQ.IDXP (J)) THEN 
  73.                IFXDS (I)=J
  74.                NSQ=NSQ+1
  75.             END IF
  76. 80          CONTINUE
  77. 81       CONTINUE 
  78.       IF (NSQ.NE.0) WRITE(60, 503) (IFXDS (I), I=1, NSQ) 
  79.       WRITE(60, 504) WROTA 
  80.       CALL FLUSH(6)
  81.       IAREA=0 
  82. C     NROOMS  NUMBER OF ZONES 
  83. C     NSECTA  NUMBER OF ROOF SECTIONS 
  84. C    NZNBAS  ZONE NUMBER OF BASEMENT (IE. NRM OF BASEMENT ZONE) 
  85. C    NATC  NUMBER OF ATTIC ZONES
  86.       READ(10, *) NROOMS, NSECTA, NZNBAS, NATC 
  87.       WRITE(60, 505) NROOMS, NSECTA, NZNBAS, NATC
  88.       CALL FLUSH(6)
  89.       IF (NROOMS.GT.NZN) STOP 'STRCTL: NROOMS TOO LARGE, INCREMENT NZN' 
  90.       IF (NSECTA.GT.NRF) STOP 'STRCTL: NSECT TOO LARGE, INCREMENT NRF'
  91. C-----READ ZONE DATA
  92.       IZT=0 
  93.       DO 130 J=1, NROOMS
  94. C        NRM     ZONE NUMBER (CAN BE ANY ORDER (BEST TO USE 1,2,..5,
  95. C                HOWEVER), BUT KEEP MAXIMUM VALUE AS LOW AS POSSIBLE 
  96. C        NWALLI  NUMBER OF ENCLOSURE ELEMENTS (OUTSIDE WALLS, INTERIOR
  97. C                WALLS, FLOOR, CEILING, ETC.) IN THIS ZONE
  98. C NOTE: NWALLA MAY GET MODIFIED WITH VALUES FROM AN INTERIOR PARTITION
  99. C       BETWEEN ZONES SET IN ANOTHER ZONE .
  100. C        CLHT    CEILING HEIGHT IN THIS ZONE, FT
  101. C        KNSTAT   CONSTRUCT THAT HAS TSTAT MOUNTED ON IN THIS ZONE
  102.          READ(10, *) NRM, NWALLI, CLHT (NRM), KNSTAT(NRM)
  103.          N2I=1
  104. C   NWALLA(NRM) CAN BE > 0 IF MIRROR IMAGE WAS SET IN THIS ZONE 
  105.          IF(NWALLA(NRM).GT.0)N2I=NWALLA(NRM)+1
  106.          NWALLA(NRM)=NWALLA(NRM)+NWALLI 
  107.          WRITE(60,529) 
  108.          WRITE(60, 506) NRM, NWALLI, CLHT (NRM), KNSTAT(NRM) 
  109.          WRITE(60,530) 
  110.          CALL FLUSH(6)
  111.          NRMA (NRM)=NRM 
  112.          N2=NWALLA (NRM)
  113. C NOTE!!!!!!! 
  114. C  INTERIOR PARTITION WALLS BETWEEN ZONES SHOULD ONLY BE ENTERED
  115. C  IN 1ST ZONE ( A MIRROR IMAGE IS SET UP IN 2ND ZONE)
  116.          DO 128 K2=N2I, N2
  117.             IZW=IZW+1 
  118.             IF (IZW.GT.NZW) STOP 'STRCTL: NZW MUST BE INCREMENTED'
  119.             NENC (NRM, K2)=IZW
  120. C    IDEXPI:                   IDEXP
  121. C       N  NORTH OUTSIDE WALL  - 1 
  122. C       E  EAST OUTSIDE WALL   - 2 
  123. C       S  SOUTH OUTSIDE WALL  - 3 
  124. C       W  WEST OUTSIDE WALL   - 4 
  125. C       C  CEILING INSIDE      - 5 
  126. C       F  FLOOR INSIDE        - 6 
  127. C       I  INTERIOR INSIDE WALL- 7 
  128. C       B  BSMT FLOOR          - 8 (SET NZNC=0)
  129. C       G  BELOW GRND BSMT WALL- 9 (SET NZNC=0)
  130. C       H  ABOVE GRND BSMT WALL- 10(SET NZNC=0)
  131. C    NHEADE - UP TO 40 CHAR DESCRIPTION OF THIS WALL
  132.             READ(10, 501) IDEXPI, NHEADE 
  133. C           CONVERT IDEXPI TO NUMERIC VALUE 
  134.             DO 90 I=1, 10 
  135.                IF (IDEXPI.EQ.IDXP (I)) GO TO 92 
  136. 90             CONTINUE 
  137.             WRITE(60, *)' STRCTL: IDEXPI BAD; NRM,K2,IDEXPI= ',
  138.      +            NRM,K2,IDEXPI
  139.             CALL FLUSH(6)
  140.             STOP 'STRCTL: IDEXPI BAD' 
  141. 92          IDX=I 
  142.             WRITE(60, 518) NHEADE
  143.             WRITE(60, 507) IDX, IZW
  144.             CALL FLUSH(6)
  145.             IDEXP (IZW)=IDX 
  146. C           NZNC  CONNECTING SPACE NUMBER:  
  147. C              0 FOR BSMT FLR,BLW GRND BSMT WALL, AND ABV GRND BSMT WALL
  148. C              1 OUTDOORS     4 ATTIC NUMBER 1       7 BASEMENT W/DUCTS 
  149. C              2 BASEMENT     5 ATTIC NUMBER 2       8 CRAWLSPC W/DUCTS 
  150. C              3 CRAWLSPACE   6 ATTACHED GARAGE 
  151. C              9-13  FIVE ZONES IN LIVING SPACE 
  152. C           KONSTA  CONSTRUCT NUMBER (SEE BLOCK DATA SUBPROGRAM)
  153. C                   IF KONSTA < 0, CONSTRUCT IN BLOCK DATA WILL BE 
  154. C                   REPLACED.
  155. C           HGTA    HEIGHT OF ENCLOSURE ELEMENT, FT 
  156. C           XLENA   LENGTH OF ENCLOSURE ELEMENT, FT 
  157. C  NOTE 1. ENTER TWO ELEMENTS FOR BASEMENT FLOOR(ID=8).  THE SMALLER
  158. C          ELEMENT WILL REPRESENT THE FLOOR NEAR THE OUTSIDE WALL AND 
  159. C          SHOULD BE ENTERED SECOND.
  160. C  NOTE 2. ENTER FOUR ELEMENTS FOR THE BASEMENT WALL BELOW GROUND(ID=9) 
  161. C          IN ORDER OF DEPTH.  HEIGHT DZN OF GROUND NODES USED IN SETNOD
  162. C          OF SOIL OR GROUND TEMPERATURE ROUTINES WILL BE THE SAME AS 
  163. C          THE HEIGHT OF THESE ELEMENTS.
  164. C  NOTE 3. FOR FLOOR ABOVE BSMT, ENTER ONLY ONE ELEMENT W/O DUCTS BELOW 
  165. C          AND ONLY ONE ELEMENT W/ DUCTS BELOW.  IF MORE THAN ONE ELEMENT 
  166. C          IS ENTERED FOR THESE, FLOOR LOSSES WONT GET CALC PROPERLY).
  167. C          ENTER THESE ELEMENTS IN ZONE ABOVE BSMT AND DONT REPEAT
  168. C          IN BASEMENT ZONE FOR BASEMENT CEILING.  BSMT CEILING WILL
  169. C          GET GENERATED FROM LVG SPC FLOOR INFO. 
  170.             READ(10, *) NZNC (IZW), KONSTA (IZW), HGTA (IZW),
  171.      1         XLENA (IZW)
  172.             WRITE(60, 508) NZNC (IZW), KONSTA (IZW), HGTA (IZW), 
  173.      1         XLENA (IZW)
  174.             CALL FLUSH(6)
  175. C  OVERRIDE IDEXPI IF <= 4 AND NZONC=6 (GARAGE) SO THAT IWALLS IS USED TO 
  176. C  CALC WALL TEMPS OF WALL BETWEEN LVG SPC AND GARAGE 
  177.          IF(IDX.LE.4.AND.NZNC(IZW).EQ.6)THEN
  178.             IDXGAR=IDX 
  179.             IDX=7 
  180.             IDEXP(IZW)=IDX
  181.             WRITE(60,532)IZW,IDXGAR,IDX
  182.             ENDIF 
  183.          IF(NZNC(IZW).EQ.2.OR.NZNC(IZW).EQ.7)IBAS=1 
  184.          IF(NZNC(IZW).EQ.3.OR.NZNC(IZW).EQ.8)ICRW=1 
  185. C           CHECK TO SEE IF CONSTRUCT IS AVAILABLE; IF NOT, READ
  186. C           CONSTRUCT DATA
  187.          IF (KONSTA (IZW).GT.NCONS.OR.KONSTA(IZW).LT.0) THEN
  188.             IF(KONSTA(IZW).GT.0)THEN
  189.                NCONS=NCONS+1
  190.                KONSTA (IZW)=NCONS 
  191.                N=NCONS
  192.             ELSE
  193.                KONSTA(IZW)=IABS(KONSTA(IZW))
  194.                N=KONSTA(IZW)
  195.                WRITE(60,3060)N 
  196.                ENDIF
  197.                CALL FLUSH(6)
  198. C              NLMP   NUMBER OF LUMPS IN THIS CONSTRUCT (1 OR 3)
  199. C              IFXL   = (1, 2, 3, 4) FOR ALWAYS SHADING (N, E, S, W) DIR
  200. C                     = 0 FOR DEACTIVATE
  201.             WRITE(60,*)' TRYING TO READ NEW CONSTRUCT DATA!!!!'
  202.             CALL FLUSH(6)
  203.             READ(10, *) NLMP (N), (IFXL (I, N), I=1, 4)
  204.             WRITE(60, 509) NLMP (N), (IFXL (I, N), I=1, 4) 
  205.             CALL FLUSH(6)
  206. C              WK   THERMAL CONDUCTIVITY OF LUMP MATERIAL, BTU/HR-FT-F
  207. C              WX   THICKNESS OF LUMP LAYER, FT 
  208. C              WRHO DENSITY OF LUMP MATERIAL, LBM/FT3 
  209. C              WCP  SPECIFIC HEAT OF LUMP MATERIAL, BTU/LBM-F 
  210.             READ(10, *) WK (1, N), WX (1, N), WRHO (1, N), 
  211.      1            WCP (1, N)
  212.             WRITE(60, 510) 1, WK (1, N), WX (1, N),
  213.      1            WRHO (1, N), WCP (1, N) 
  214.             CALL FLUSH(6)
  215.             IF (NLMP (N).EQ.3) THEN 
  216.                READ(10, *) WK (2, N), WX (2, N), WRHO (2, N),
  217.      1               WCP (2, N) 
  218.                WRITE(60, 510) 2, WK (2, N), WX (2, N), 
  219.      1               WRHO (2, N), WCP (2, N)
  220.                CALL FLUSH(6)
  221.                READ(10, *) WK (3, N), WX (3, N), WRHO (3, N),
  222.      1               WCP (3, N) 
  223.                WRITE(60, 510) 3, WK (3, N), WX (3, N), 
  224.      1               WRHO (3, N), WCP (3, N)
  225.                CALL FLUSH(6)
  226.                END IF 
  227.             END IF
  228. C           LEAKAGE PARAMETERS
  229. C           DON'T READ LEAKAGE IF ENCLOSURE ELEMENT IS INTERIOR WALL
  230. C           WITHIN THE SAME ZONE (IR=0) OR CEILING OR FLOOR
  231.             IR=0
  232. C           IF THE ENCLOSURE ELEMENT IS AN INTERIOR WALL BETWEEN ZONES
  233. C           , AN ABOVE-GRND BSMT WALL, OR AN OUTSIDE WALL (IR=1)
  234. C   INTERIOR WALL BETWEEN ZONES 
  235. C                   NZON IS CONNECTING ZONE
  236.               NZON=NZNC(IZW)-8
  237.               IF(IDX.EQ.7.AND.NRM.NE.NZON)IR=1
  238. C   BASEMENT WALL ABOVE GROUND
  239.               IF(IDX.EQ.10)IR=1 
  240. C   OUTSIDE WALL
  241.               IF(IDX.LE.4)IR=1
  242. C              
  243. C              WDLEAK - WIDTH OF LEAKAGE OPENING, IN.
  244. C              HGTLEAK - HEIGHT OF LEAKAGE OPENING, IN.
  245. C              HNPL - HEIGHT FROM CENTER OF OPENING UP TO NEUTRAL
  246. C                     PRESSURE LEVEL IN BUILDING (USED ON OUTSIDE
  247. C                     WALLS WHEN WIND VELOCITY IS ZERO.--SEE P.23.4
  248. C                     OF 1989 ASHRAE HANDBOOK OF FUNDAMENTALS)
  249. C                    
  250.              IF(IR.EQ.1)THEN
  251.                READ(10, *) WDLEAK (IZW), HGTLEAK (IZW), HNPL (IZW)
  252.                WRITE(60, 512) WDLEAK (IZW), HGTLEAK (IZW), HNPL (IZW)
  253.                CALL FLUSH(6)
  254.              END IF 
  255. C           WALLFI   LONGWAVE EMISSIVITY INSIDE SURFACE OF
  256. C                    ENCLOSURE ELEMENT
  257. C           WALLFO   LONGWAVE EMISSIVITY AT OUTER SURFACE OF
  258. C                    ENCLOSURE ELEMENT
  259. C           EPSLR    SHORTWAVE (SOLAR) ABSORPTIVITY AT OUTER
  260. C                    SURFACE OF ENCLOSURE ELEMENT 
  261.             IF(IDX.LE.4)THEN
  262.               READ(10, *) WALLFI (IZW), WALLFO (IZW), EPSLR(IZW) 
  263.               WRITE(60, 531) WALLFI (IZW), WALLFO (IZW),EPSLR(IZW) 
  264.               CALL FLUSH(6)
  265.             ELSE
  266.               READ(10, *) WALLFI(IZW), WALLFO(IZW) 
  267.               WRITE(60, 513) WALLFI (IZW), WALLFO (IZW)
  268.               CALL FLUSH(6)
  269.               ENDIF 
  270.             WRITE(60, 520) IDX 
  271.             CALL FLUSH(6)
  272. C           NWNDA   NUMBER OF WINDOWS FOR THIS ENCLOSURE ELEMENT
  273. C           OHANGA  ROOF OVERHANG ABOVE THESE WINDOWS, FT 
  274. C           HHANGA  HEIGHT TO OVERHANG FROM TOP OF OUTSIDE WALL, IN.
  275.             IF (IDX.LE.4) THEN
  276.                READ(10, *) NWNDA (IZW), OHANGA (IZW), HHANGA (IZW) 
  277.                WRITE(60, 514) NWNDA (IZW), OHANGA (IZW), 
  278.      1            HHANGA (IZW)
  279.                CALL FLUSH(6)
  280.                N4=NWNDA (IZW) 
  281.                IF (N4.NE.0) THEN
  282. C                 READ WINDOW DATA
  283.                   DO 94 K4=1, N4
  284.                      NW=NW+1
  285.                      NIWND (IZW, K4)=NW 
  286. C                    WHGTA   HEIGHT OF TRANSPARENT WINDOW, FT 
  287. C                    WWDTHA  WIDTH OF TRANSPARENT WINDOW REDUCED TO 
  288. C                            ACCOUNT FOR ANY BLOCKAGE, FT 
  289. C                    REVELA  DEPTH OF REVEAL OR SETBACK OF WINDOW FROM
  290. C                            OUTER SURFACE, IN. 
  291. C                    OHNGHA  DISTANCE FROM TOP OF WINDOW AND ROOF 
  292. C                            OVERHANG, IN.
  293. C                    SFSDA   WINDOW SHADING COEFFICIENT (ASHRAE 
  294. C                            HANDBOOK OF FUNDAMENTALS)
  295.                      READ(10, *) WHGTA (NW), WWDTHA (NW),
  296.      1                  REVELA (NW), OHNGHA (NW), SFSDA (NW)
  297.                      WRITE(60, 515) NW, WHGTA (NW), WWDTHA (NW), 
  298.      1                  REVELA (NW), OHNGHA (NW), SFSDA (NW)
  299.                      CALL FLUSH(6)
  300. 94                   CONTINUE 
  301.                END IF 
  302.             END IF
  303.       KONI=KONSTA(IZW)
  304.       NZONC=NZNC(IZW) 
  305.       NZON=NZONC-8
  306.       IBZ=0 
  307. C   IBZ = 1, IF THIS ENCLOSURE ELE IS AN INTERIOR WALL BETWN ZONES      
  308.       IF(IDX.EQ.7.AND.NRM.NE.NZON.AND.NZONC.NE.6)IBZ=1
  309.       IF(IDX.EQ.6)THEN
  310.           IF(NZONC.EQ.2.OR.NZONC.EQ.7)THEN
  311. C   IBZ = 2, IF THIS ENCLOSURE ELE IS FLOOR BETWN LVG ZONE AND BSMT          
  312.               IBZ=2 
  313.               NZON=NZNBAS 
  314.               ENDIF 
  315.           ENDIF 
  316.       IF(IBZ.NE.0)THEN
  317. C - - INTERIOR PARTITION WALL OR FLOOR BETWEEN ZONES
  318. C  SET VALUES FOR OTHER SIDE OF WALL OR FLOOR 
  319.           N2=NWALLA(NZON)+1 
  320.           NWALLA(NZON)=N2 
  321.           IF(NRMA(NZON).EQ.0)NRMA(NZON)=NZON
  322.           IZWX=IZW
  323.           IZW=IZW+1 
  324.           IF(IZW.GT.NZW)STOP 'STRCTL:NZW MUST BE INCREASED' 
  325.           NENC(NZON,N2)=IZW 
  326.           IF(IBZ.EQ.1)THEN
  327.               WRITE(60,3040)IZWX,NRM,IZW,NZON
  328.               CALL FLUSH(6)
  329. C  IDQ IS THE IDEXP OF THE CONNECTING ZONE IN WHICH A MIRROR IMAGE
  330. C  IS SET              
  331.               IDQ=7 
  332.               ENDIF 
  333.           IF(IBZ.EQ.2)THEN
  334.               WRITE(60,3050)IZWX,NRM,IZW,NZON
  335.               CALL FLUSH(6)
  336.               IDQ=5 
  337.               ENDIF 
  338.           IDEXP(IZW)=IDQ
  339.           NZNC(IZW)=NRM+8 
  340. C - - LOOK FOR MIRROR IMAGE OF THIS CONSTRUCT; IF NOT AVAILABLE, THEN 
  341. C         SET UP A NEW CONSTRUCT WHICH IS A MIRROR IMAGE
  342.           CALL KONSET(KONI,KONO)
  343.           KONSTA(IZW)=KONO
  344.           HGTA(IZW)=HGTA(IZWX)
  345.           XLENA(IZW)=XLENA(IZWX)
  346. C          WDLEAK(IZW)=WDLEAK(IZWX)
  347. C          HGTLEAK(IZW)=HGTLEAK(IZWX)
  348. C          HNPL(IZW)=HNPL(IZWX)
  349.           WALLFI(IZW)=WALLFO(IZWX)
  350.           WALLFO(IZW)=WALLFI(IZWX)
  351.           AWALLA(IZW)=AWALLA(IZWX)
  352. C  SET IZW ON BACKSIDE OF PARTITION WALL BETWEEN ZONES
  353.           NIZWS=NIZWS+1 
  354.           IF(NIZWS.GT.NIZ)THEN
  355.             WRITE(60,528)2*NIZ 
  356.            STOP 'INCR DIM OF IZWSS AND IZWSV IN CMDECKS & NIZ IN STRCTL' 
  357.             ENDIF 
  358. C  IZSET IS IZW ON THIS SIDE OF INTERIOR PART WALL BETWN ZONES
  359. C  IZWSS IS IZW ON BACK SIDE OF INTERIOR PART WALL BETWEEN ZONES            
  360.           IZSET(NIZWS)=IZWX 
  361.           IZWSS(NIZWS)=IZW
  362.           NIZWS = NIZWS + 1
  363.           IF(NIZWS.GT.NIZ)THEN
  364.             WRITE(60,528)2*NIZ 
  365.            STOP 'INCR DIM OF IZWSS AND IZWSV IN CMDECKS & NIZ IN STRCTL' 
  366.           ENDIF 
  367.           IZSET(NIZWS)=IZW
  368.           IZWSS(NIZWS)=IZWX 
  369.           ENDIF 
  370. 128         CONTINUE
  371.          WRITE(60, 521)
  372. C        CHECK FOR CONSOLIDATION OF ENCLOSURE ELEMENTS IN ZONE NRM
  373. C        IZT IS IZW AT END OF ENCLOSURE ELEMENTS FOR PREVIOUS ZONE
  374.          CALL CONSLD (NRM, IAREA, 0,IDBG) 
  375. C         
  376. C   SET LEAKAGE CONNECTION DATA
  377.          N2=NWALLA(NRM)
  378.          DO 129 K2=1,N2
  379.          IZW=NENC(NRM,K2)
  380.          NZONC=NZNC(IZW)
  381. C              SET THE ZONE THAT CONNECTS TO AN ATTACHED GARAG         
  382.          IF(NZONC.EQ.6)THEN
  383.            NZONG=NRM
  384.          ENDIF
  385.          IF(WDLEAK(IZW).GT.0.)THEN
  386.            NLEAKS=NLEAKS+1
  387.            IZWLEAK(NLEAKS)=IZW
  388.          ENDIF
  389.   129    CONTINUE         
  390. C        IZT IS IZW AT END OF ENCLOSURE ELEMENTS FOR THIS ZONE
  391.           IZW=IZT 
  392.   130    CONTINUE 
  393. C   NOW RESET IZSET ARRAY WITH ORDER OF IZWSS VALUES
  394.       DO 131 IQ=1,NIZWS 
  395.   131 IZWSV(IQ)=IZSET(IQ) 
  396.       CALL ZERVI(NZW,IZSET) 
  397.       DO 132 IQ=1,NIZWS 
  398.       IZW=IZWSS(IQ) 
  399.   132 IZSET(IZW)=IZWSV(IQ)
  400.       WRITE(60,*)'  ***  NOW PRINT IZW INDICES OF MIRROR-IMAGE ELEMENTS'
  401.       DO 133 IZW=1,NZW
  402.       IF(IZSET(IZW).NE.0)THEN
  403.         WRITE(60,*)' IZW,IZSET(IZW)= ',IZW,IZSET(IZW)
  404.       ENDIF
  405.   133 CONTINUE
  406. C     READ ROOF DATA
  407.       DO 140 K5=1, NSECTA 
  408. C        READ COMPASS DIRECTION THAT ROOF FACES 
  409. C        IDEXPI:  
  410. C           N  NORTH FACING SECTION- 1
  411. C           E  EAST FACING SECTION - 2
  412. C           S  SOUTH FACING SECTION- 3
  413. C           W  WEST FACING SECTION - 4
  414. C  NHEADE - UP TO 40 CHAR DESCRIPTION OF ROOF ELEMENT
  415.          READ(10,501) IDEXPI,NHEADE
  416.          WRITE(60, 519) IDEXPI,NHEADE
  417.          DO 138 I=1, 4
  418.             IF (IDEXPI.EQ.IDXP (I)) GO TO 139 
  419. 138         CONTINUE
  420.          STOP 'STRCTL: IDEXP OF ROOF SECTION IS BAD'
  421.   139      IDEXPR (K5)=I
  422.          WRITE(60, 516) K5, IDEXPR (K5)
  423. C        NATTC   ATTIC NUMBER BELOW ROOF (1 OR 2) 
  424. C        KONSTR  CONSTRUCT NUMBER (SEE BLOCK DATA SUBPROGRAM) 
  425. C        SECTAA  SURFACE AREA OF THIS ROOF SECTION, SQ FT 
  426. C        PAA     PITCH ANGLE BETWEEN ROOF LINE AND HORIZONTAL, DEG
  427. C        ROOFI   LONGWAVE EMISSIVITY/ABSORPTIVITY FOR UNDERSIDE OF ROOF 
  428. C        ROOFO   LONGWAVE EMISSIVITY/ABSORPTIVITY FOR OUTER SURF OF ROOF
  429. C       EPRSLR   ABSORPTIVITY FOR SOLAR RADIATION AT OUTER SURFACE OF 
  430. C                ROOF 
  431.          READ(10, *) NATTC (K5), KONSTR (K5), SECTAA (K5), PAAI, 
  432.      1      ROOFI (K5), ROOFO (K5), EPRSLR(K5)
  433.          WRITE(60, 517) NATTC (K5), KONSTR (K5), SECTAA (K5), PAAI,
  434.      1      ROOFI (K5), ROOFO (K5),EPRSLR(K5) 
  435.          IF(NATTC(K5).EQ.1)THEN 
  436.             KONRF(1)=KONSTR(K5) 
  437.             ROFOM(1)=ROOFO(K5)
  438.             ROFIM(1)=ROOFI(K5)
  439.             ENDIF 
  440.          IF(NATTC(K5).EQ.2)THEN 
  441.             KONRF(2)=KONSTR(K5) 
  442.             ROFOM(2)=ROOFO(K5)
  443.             ROFIM(2)=ROOFI(K5)
  444.             ENDIF 
  445.          PAA (K5)=90.0-PAAI 
  446. 140      CONTINUE 
  447. C     CALCULATE WINDOW AND ROOF AREAS 
  448.       IAREA=1 
  449.       CALL CONSLD (1, IAREA, 0,IDBG)
  450. C  NRMVNT IS NUMBER OF LVG SPACE ZONES(OTHER THAN BASEMENT) 
  451. C    THAT VENT GOES THROUGH.
  452. C  HIR - CONVECTIVE HEAT TR COEF AT INSIDE SURF OF ROOF,BTU/HR-FT2-F
  453. C  HAC - CONVECTIVE HEAT TR COEF AT ATTIC SIDE OF CEILING, BTU/HR-FT2-F
  454.       READ(10, *)HIR,HAC 
  455. C  IF IHCOLD = 0, H'S WILL BE CALC IN SUB: HC FROM STILL AIR VALUES 
  456. C                 AS A FUNCT OF HT FLOW DIR. AND SURF. ORIENTATION
  457. C                 IF HIBLWR>0., IT WILL BE USED AT WALLS WHEN BLOWER
  458. C                 IS ON(TARP USED A VALUE OF 1.09--SEEMS HIGH RDF)
  459. C                 ,BUT INDEP. OF BLWR STATE AND SURF-TO-AIR DT
  460. C  IF IHCOLD = 1, H'S WILL BE CALC IN SUB: HC AS FUNCT OF BLOWER
  461. C                 STATE AND SURF-TO-AIR DELTA T.  HIC,HIG,ETC ARE 
  462. C                 MULTIPLIERS ON BUILT IN FUNCTIONS 
  463. C  IF IHCOLD = 2 , THEN ALL H'S (HIG,HIW,HIC,ETC.) WILL BE
  464. C                  USED AS IS.
  465. C  NOTE:::: UNITS FOR THE H VALUES BELOW ARE BTU/HR-FT2-F
  466. C          NOTE: SET HIC,H1F,HIW,H3B,HIG,H3F,H3FB = 1. OR OTHER
  467. C                VALUE OF MULTIPLIER IF IHCOLD < 2 .  IF IHCOLD
  468. C                =2, THE VALUES HIC,H1F,...WILL BE USED AS IS.
  469. C  HIG   - 
  470. C  HIW   - CONVECTIVE HEAT TR COEF AT INSIDE SURF OF EXTERIOR WALLS
  471. C  HIC   - CONVECTIVE HEAT TR COEF AT INSIDE SURF OF CEILING
  472. C  H1F   - CONVECTIVE HEAT TR COEF AT BASEMENT CEILING
  473. C  H3F   - CONVECTIVE HEAT TR COEF AT LIVING-SPACE SIDE OF LVG SPC FLOOR
  474. C  H3B   - CONVECTIVE HEAT TR COEF AT INSIDE SURF OF BASEMENT WALLS
  475. C  H3FB  - CONVECTIVE HEAT TR COEF AT INSIDE SURF OF BASEMENT FLOOR
  476. C  VOLCRW - VOLUME OF CRAWL SPACE, FT3
  477. C  UWGR  - OVERALL HEAT TR COEF FOR AN UNDERGROUND WALL EXPOSED TO 
  478. C          LIVING SPACE(DO NOT INCL FILM COEF ON SOIL-SIDE OF WALL),
  479. C          BTU/HR-FT2-F
  480. C  USLFL - OVERALL HEAT TR COEF FOR SLAB FLOOR EXPOSED TO LIVING SPACE,
  481. C          BTU/HR-FT2-F
  482. C  UWIND - OVERALL HEAT TR COEF FOR WINDOW GLASS SURFACE, BTU/HR-FT2-F
  483. C  HAD   - CONVECTIVE HEAT TR COEF INSIDE DUCTS,BTU/HR-FT2-F
  484. C  HOD   - CONVECTIVE HEAT TR COEF OUTSIDE DUCTS, BTU/HR-FT2-F
  485. C  ASUP  - TOTAL SURFACE AREA OF SUPPLY DUCT, FT2
  486. C  WSUP  - MASS OF SUPPLY DUCT, LBM
  487. C  ARET  - TOTAL SURFACE AREA OF RETURN DUCT, FT2
  488. C  WRET  - MASS OF RETURN DUCT, LBM
  489. C  FSDIB - FRACTION OF SUPPLY DUCT IN BASEMENT OR OUTSIDE
  490. C  FRDIB - FRACTION OF RETURN DUCT IN BASEMENT OR OUTSIDE
  491. C  NRMVNT- NO. OF LIVING SPACE ZONES ABOVE THE BASEMENT THAT VENT
  492. C          GOES THROUGH AND RECEIVE VENT HEAT LOSS
  493. C  NATVNT- ATTIC NO. THAT VENT GOES THROUGH AND RECEIVES VENT HEAT LOSS
  494.       READ(10, *) IHCOLD, HIG, HIW,
  495.      +    HIC, H1F, H3F,        H3B,  H3FB, 
  496.      +   VOLCRW,               UWGR, USLFL, UWIND,
  497.      +   HAD, HOD, ASUP, WSUP, ARET, WRET, FSDIB, FRDIB,
  498.      +   NRMVNT, NATVNT 
  499. C  ATCVOL - NATC VALUES OF ATTIC VOLUMES, FT3
  500.       READ(10,*)(ATCVOL(IA),IA=1,NATC)
  501. C  ROMVOL - NROOM VALUES OF VOLUME OF AIR IN EACH ZONE, FT3     
  502.       READ(10,*)(ROMVOL(NRM),NRM=1,NROOMS)
  503.       IF(NRMVNT.LE.0.OR.NRMVNT.GT.2)THEN
  504.          STOP 'STRCTL:NRMVNT MUST BE 1 OR 2'
  505.          ENDIF
  506. C  IRMVNT(I) IS LIVING SPACE ZONE NO. THAT VENT GOES THROUGH
  507. C  FRCVNT(I) IS FRACTION OF LVG SPC VENT HEAT LOSS TO ZONE IRMVNT(I)
  508.       READ(10,*)(IRMVNT(IJ),FRCVNT(IJ),IJ=1,NRMVNT) 
  509.       DO 142 J=1,NROOMS 
  510.       NRM=NRMA(J) 
  511. C  NRMBGW - NO. OF BELOW-GROUND WALLS IN THIS ZONE
  512.       READ(10,*) NRMBGW(NRM)
  513. C  AWGR - AREA OF BELOW-GROUND WALLS IN THIS ZONE      
  514.       IF(NRMBGW(NRM).GT.0)READ(10,*)AWGR(NRM) 
  515.       IF(NRMBGW(NRM).EQ.0)THEN
  516.           WRITE(60,522)NRM
  517.       ELSE
  518.           WRITE(60,3020)NRMBGW(I),AWGR(I)
  519.           ENDIF 
  520.   142 CONTINUE
  521.       DO 144 J=1,NROOMS 
  522.       NRM=NRMA(J) 
  523. C  NRMSLB - NO. OF SLAB FLOORS IN THIS ZONE      
  524.       READ(10,*) NRMSLB(NRM)
  525. C  ASLFL - AREA OF SLAB FLOOR IN THIS ZONE, FT2      
  526.       IF(NRMSLB(NRM).GT.0)READ(10,*)ASLFL(NRM)
  527.       IF(NRMSLB(NRM).EQ.0)THEN
  528.           WRITE(60,523)NRM
  529.       ELSE
  530.           WRITE(60,3030)NRMSLB(I),ASLFL(I) 
  531.       ENDIF 
  532.   144 CONTINUE
  533.       WRITE(60,525)
  534.       WRITE(60, 3000) IHCOLD,HIG,
  535.      +   HIW, HIR, HAC, HIC, H1F, H3F,        H3B,
  536.      +           VOLCRW,               UWGR, USLFL, UWIND,
  537.      +         HAD, HOD, ASUP, WSUP, ARET, WRET, FSDIB, FRDIB, NRMVNT,
  538.      +   NATVNT 
  539.       WRITE(60,3010)(IA,ATCVOL(IA),IA=1,NATC) 
  540.       WRITE(60,3012)(NRM,ROMVOL(NRM),NRM=1,NROOMS)
  541. C  GET FURNITURE DATA 
  542. C  RHOFM - DENSITY OF FURNITURE MASS, LBM/FT3
  543. C  CPFM  - SPECIFIC HEAT OF FURNITURE MASS, BTU/LBM-F
  544.       READ(10,*)RHOFM,CPFM
  545.       WRITE(60,533)RHOFM,CPFM
  546.       DO 146 JT=1,NROOMS
  547.       NRM=NRMA(JT)
  548. C  THKFM - THICKNESS OF FURNITURE ELEMENTS ( USED TO CALC SURFACE AREA
  549. C          OF FURNITURE), INCHES
  550. C  XMFM  - MASS OF FURNITURE, LBM      
  551.       READ(10,*)THKFM(NRM),XMFM(NRM)
  552.       WRITE(60,534)NRM,THKFM(NRM),XMFM(NRM)
  553.   146 CONTINUE
  554.       CLOSE(10)
  555. C-----NORMAL EXIT 
  556.       WRITE(60, 2010)
  557.       IF(IDBG.NE.0)WRITE(60,526)(I,IZSET(I),I=1,NZW) 
  558.       WRITE(60,527)NROOMS,NZN,NIZWS,2*NIZ
  559.       CALL FLUSH(6)
  560.       RETURN
  561. 500   FORMAT (4 (A1, 1X), F10.0)
  562. 501   FORMAT (A1, 10A4) 
  563. 503   FORMAT (//1X,'INPUT DATA FOR ENCLOSURE ELEMENTS - - - - ', /, 
  564.      +   ' COMPASS DIRECTIONS THAT ARE ALWAYS SHADED ARE = ', 4I5)
  565. 504   FORMAT (' ANGLE HOUSE IS ROTATED FROM CARDINAL COMPASS POINTS= ', 
  566.      +   G13.5) 
  567. 505   FORMAT (' NUMBER OF ZONES= ', I5, /,
  568.      +   ' NUMBER OF ROOF SECTIONS= ', I5/
  569.      +   ' BASEMENT IS ZONE  ',I5/
  570.      +   ' NUMBER OF ATTIC ZONES= ',I5) 
  571. 506   FORMAT (/1X,'ZONE NUMBER = ', I5,
  572.      +   '  NUMBER OF ENCLOSURE ELEMENTS = ', I5, 
  573.      +   ' CEILING HEIGHT = ', G13.5, ' FT'/
  574.      + 10X, 'CONSTRUCT THAT TSTAT IS MOUNTED ON = ',I5) 
  575. 507   FORMAT (' ENCLOSURE ID= ', I5, ' ENCLOSURE NUMBER= ', I5) 
  576. 508   FORMAT (' THIS ENCLOSURE ELEMENT IS CONNECTED TO SPACE', I5, /, 
  577.      +   ' CONSTRUCT NUMBER  = ', I5, /,
  578.      +   ' HEIGHT AND LENGTH = ', 2G13.5, ' FT')
  579. 509   FORMAT ('  NEW CONSTRUCT NUMBER !!!', /,
  580.      +   10X, 'NUMBER OF LUMPS= ', I5,
  581.      +   '  DIRECTIONS ALWAYS SHADED ARE = ', 4I3)
  582. 510   FORMAT (10X, 'FOR LUMP NUMBER', I3, 
  583.      +   '  K, DX, RHO, CP= ', 4G13.5)
  584. 512   FORMAT (10X, 'WIDTH OF LEAKAGE OPENING = ', G13.5, ' IN', /, 
  585.      +   10X, 'HEIGHT OF LEAKAGE OPENING = ', G13.5,' IN',/,
  586.      +   10X, 'HEIGHT FROM CENTER OF OPENING UP TO NEUTRAL PRESSURE',
  587.      +        ' LEVEL = ',G13.5,' IN')
  588. 513   FORMAT (' EMISSIVITY/ABSORPTIVITY OF INNER AND OUTER SURFACE',
  589.      1   ' OF ENCLOSURE= ', 2G13.5) 
  590. 514   FORMAT (' NUMBER OF WINDOWS= ', I5, 
  591.      1   ' ROOF OVERHANG= ', G13.5, 'FT', 
  592.      2   3X, 'HGT TO OVERHANG FROM TOP OF ENCLOSURE ELEMENT = ', G13.5, 
  593.      3   'IN.') 
  594. 515   FORMAT (' WINDOW INDEX NUMBER = ', I5,
  595.      1   ' HEIGHT AND WIDTH OF WINDOW= ', 2G13.5, ' FT', /, 
  596.      2   10X, 
  597.      3   'REVEAL AND HEIGHT FROM TOP OF WINDOW TO ROOF OVERHANG = ',
  598.      4   2G13.5, ' IN.', /, 
  599.      5   10X, 'WINDOW SHADING COEFFICIENT = ', G13.5) 
  600. 516   FORMAT (' ROOF SECTION INDEX NUMBER = ', I5, /, 
  601.      1   10X, 'ORIENTATION ID = ', I5)
  602. 517   FORMAT (' ATTIC NUMBER THIS SECTION IS CONNECTED TO= ', I5, /,
  603.      1   10X, 'CONSTRUCT NUMBER=', I5, ' AREA= ', G13.5, ' SQ FT', /, 
  604.      2   ' PITCH ANGLE FROM HORIZONTAL= ', G13.5, /,
  605.      3   10X, 'LONGWAVE EMISSIVITY/ABSORPTIVITY OF INNER AND OUTER'/
  606.      4   10X,'SURFACE= ',2G13.5/10X,'SHORTWAVE (SOLAR) ABSORPTIVITY', 
  607.      5   ' AT OUTER SURFACE= ',G13.5) 
  608. 518   FORMAT (/1X,' ****', 10A4)
  609. 519   FORMAT (/1X,' ID FOR ROOF SECTION= ', A4,5X,10A4) 
  610. 520   FORMAT (' IDX= ---- ', I4)
  611. 521   FORMAT ('  - - - - -  END OF ENCLOSURE INPUT DATA FOR THIS ZONE', 
  612.      1   /, 
  613.      2   '     NOW CONSOLIDATE ENCLOSURE ELEMENTS FOR THIS ZONE, ', 
  614.      3   ' IF POSSIBLE', /) 
  615.   522 FORMAT(/' NO BELOW GROUND WALLS IN LVG SPC ZONE ',I5)
  616.   523 FORMAT(/' NO SLAB FLOOR IN LVG SPC ZONE ',I5)
  617.   524 FORMAT(/1X,'*--*--*NOTE:MULTIPLE INTERIOR WALLS THAT ARENT'/
  618.      +12X,'SEPARATING ZONES AND HAVE THE SAME CONSTRUCT NO. SHOULD'/
  619.      +12X,'BE ENTERED CONSECUTIVELY SO THEY WILL GET CONSOLIDATED', 
  620.      +' PROPERLY')
  621.   525 FORMAT('  NOTE:::HIG,HIW,HIR,HAC,HIC,H1F,H3F, AND H3B'/ 
  622.      +' ARE MULTIPLIERS ON BUILT IN NAT. CONV.CORRELATION'/ 
  623.      +'  AND SO SHOULD BE INPUT = OR CLOSE TO 1.0. IF IRF'/ 
  624.      +'  =0, HIR AND HAC ARE USED AS IS (INCL. RAD.COMPONENT)IN'/ 
  625.      +'   THE ATTIC FOR H') 
  626.   526 FORMAT((1X,'STRCTL:I,IZSET(I)= ',2I4))
  627.   527 FORMAT(/1X,5(1H*),' NO. OF ZONES= ',I3, 
  628.      +' VS MAX ZONES ALLOWED AS COMPILED= ',I3/ 
  629.      +1X,5(1H*),'2 X NO. OF MIRROR-IMAGE ENCLOSURES= ',I3,
  630.      +' VS MAX ALLOWED AS COMPILED(2 X NIZ)= ',I3)
  631.   528 FORMAT(/1X,'STRCTL: INCR DIM OF IZWSS AND IZWSV', 
  632.      +' IN CMDECKS AND XX OF NIZ=XX*NZN IN STRCTL'/ 
  633.      +15X,'2 X NIZ IN STRCTL = ',I4)
  634.   529 FORMAT(/1X, 40(2H- ))
  635.   530 FORMAT(1X,40(2H- )) 
  636.   531 FORMAT (' LONGWAVE EMISS/ABSORPT OF INNER AND OUTER SURFACE', 
  637.      1   ' OF ENCLOSURE= ', 2G13.5/ 
  638.      2' SHORTWAVE (SOLAR) ABSORPTIVITY OF OUTER SURFACE= ',G13.5) 
  639.   532 FORMAT(1X,'ENCLOSURE ',I5,': CHANGED ID FROM ',I4,' TO ', 
  640.      +I4,' SO THAT IWALLS '/
  641.      +'  WILL BE USED TO CALC TEMPS OF LVG SPC/GARAGE WALL')
  642.   533 FORMAT(1X,1H0,'FURNITURE DATA'/ 
  643.      +' DENSITY, LB/FT3= ',G13.5/ 
  644.      +' SPEC HEAT, BTU/LB-F= ',G13.5) 
  645.   534 FORMAT((1X,'ZONE NO.= ',I4,' THICKNESS, INCHES = ',G13.5, 
  646.      +' MASS IN ZONE, LB = ',G13.5/)) 
  647.   
  648. 2010  FORMAT (' ********** END OF STRCTL INPUT **********') 
  649. 3000  FORMAT ('0', T2, 'IHCOLD= ',I3, T2, 'HIG   =', G13.5, 
  650.      3   T2, 'HIW   =', G13.5, T24, 'HIR   =', G13.5, 
  651.      4   T46, 'HAC   =', G13.5, T68, 'HIC   =', G13.5,
  652.      5   T90, 'H1F   =', G13.5, T112, 'H3F   =', G13.5, /,
  653.      6                         T24, 'H3B   =', G13.5, 
  654.      8                          T112, 'VOLCRW=', G13.5, /,
  655.      A   T46, 'UWGR  =', G13.5, T68, 'USLFL =', G13.5,
  656.      B   T90, 'UWIND =', G13.5, 
  657.      D   T46, 'HAD   =', G13.5, T68, 'HOD   =', G13.5,
  658.      E   T90, 'ASUP  =', G13.5, T112, 'WSUP  =', G13.5, /,
  659.      F   T2, 'ARET  =', G13.5, T24, 'WRET  =', G13.5, 
  660.      G   T46, 'FSDIB =', G13.5, T68, 'FRDIB =', G13.5/
  661.      +   T2, 'NRMVNT=',I7,6X, T24, 'NATVNT=',I7,6X) 
  662.  3010 FORMAT(1X,'IA,ATCVOL= ',2(I4,G13.5))
  663.  3012 FORMAT(1X,'NRM,ROMVOL= ',5(I4,G13.5)) 
  664.  3020 FORMAT((1X,'ZONE NO. W/ BELOW-GRND WALL= ',I4,' WALL AREA= ', 
  665.      +       G13.5/)) 
  666.  3030 FORMAT((1X,'ZONE NO. W/ SLAB FLOOR= ',I4,' SLAB FLOOR ',
  667.      +       'AREA= ',G13.5/))
  668.  3040 FORMAT(/' MIRROR-IMAGE OF INTERIOR ENCLOSURE ELE NO. ',I4,
  669.      +' IN ZONE ',I4/'  SET AS ELE NO. ',I4, ' IN ZONE ',I4)
  670.  3050 FORMAT(/' MIRROR-IMAGE OF FLOOR ELE NO. ',I4,' IN ZONE ', 
  671.      +I4/'  SET AS INTERIOR ENCLOSURE ELE NO. ',I4,' FOR CEILING ', 
  672.      +'ELE IN ZONE ',I4)
  673.  3060 FORMAT(/'YOU HAVE REPLACED CONSTRUCT NO. ',I4, 
  674.      +' IN BLKDAT') 
  675.       END 
  676.