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 / ROOFC.FOR < prev    next >
Text File  |  1992-04-16  |  6KB  |  183 lines

  1.       SUBROUTINE ROOFC(HO, TODBR4, ISKY, FAROOF, NSUBR, EATTC1, 
  2.      +                 EATTC2, DTIM1, TR0, QLSRF, QSKYS, QCONRF,IDBG) 
  3. C  COMPUTE ROOF TEMPERATURES FOR EACH ATTIC 
  4. C - - - PARAMETER CONSTANTS 
  5. CMDK FTR
  6. CMDK NZN
  7. CMDK NIWL
  8. CMDK NKONST
  9. CMDK NWL
  10. CMDK NWN
  11. CMDK NZW
  12. CMDK SIGMA
  13. C - - - COMMON BLOCKS 
  14. CMDK BLKQS
  15. CMDK ENCBK1
  16. CMDK IRDFQ
  17. CMDK IZZQ
  18. CMDK OWETHR
  19. CMDK SOLARB
  20. CMDK SURFAR
  21. CMDK TCNBLK
  22. CMDK TEMPB
  23.       REAL QLOSRF(2),QSKY(2), SMA(2), SMT(2)
  24.       DATA PATM/1./
  25. C  TCON VALUES WERE CALC WITH DTIM1 AND DTIM1/NSUBR IS NEEDED BELOW, SO 
  26. C               TCON VALUES MUST BE MULTIPLIED BY DTR 
  27.       DTR=1./NSUBR
  28.       FASGE1=(1.-EATTC1)/EATTC1 
  29.       FASGE2=(1.-EATTC2)/EATTC2 
  30. C  FIND ALL CEILINGS CONNECTED TO EACH ATTIC AND WEIGHT UPPER SURFACE 
  31. C  TEMPERATURES BY CEILING AREA 
  32.       SMT(1)=0. 
  33.       SMT(2)=0. 
  34.       SMA(1)=0. 
  35.       SMA(2)=0. 
  36.       DO 502 J=1,NROOMS 
  37.       NRM=NRMA(J) 
  38.       N2=NWALLA(NRM)
  39.       DO 502 K2=1,N2
  40.       IZW=NENC(NRM,K2)
  41.       ID=IDEXP(IZW) 
  42.       IF(ID.EQ.5)THEN 
  43.           IF(NZNC(IZW).EQ.4)THEN
  44.               SMT(1)=SMT(1)+TMP(1,IZW)*AWALLA(IZW)
  45.               SMA(1)=SMA(1)+AWALLA(IZW) 
  46.               ENDIF 
  47.           IF(NZNC(IZW).EQ.5)THEN
  48.               SMT(2)=SMT(2)+TMP(1,IZW)*AWALLA(IZW)
  49.               SMA(2)=SMA(2)+AWALLA(IZW) 
  50.               ENDIF 
  51.           ENDIF 
  52.   502 CONTINUE
  53. C  STORE WEIGHTED UPPER SURFACE TEMPS IN SMT ARRAY
  54.       IF(SMA(1).NE.0.)SMT(1)=SMT(1)/SMA(1)
  55.       IF(SMA(2).NE.0.)SMT(2)=SMT(2)/SMA(2)
  56. C  BEGIN ROOF CALCULATIONS
  57.       RRAD=FASGE1+1.+FASGE2 
  58.       CON1=SIGMA/RRAD 
  59.       QRADRF=0. 
  60.       QLSRF=0.
  61.       QSKYS=0.
  62.       ACEIL(2)=0. 
  63.       QRFSUM(2)=0.
  64.       DO 510 IA=1,NATC
  65.       QRFSUM(IA)=0.
  66. C  ACEIL(IA) IS CEILING AREA IN CONTACT WITH ATTICS IA
  67.       ACEIL(IA)=SMA(IA) 
  68.       SMT4=(SMT(IA)+FTR)**4 
  69.       IQZ=IZT+IA
  70.       T1=TMP(1,IQZ) 
  71.       T14=(T1+FTR)**4 
  72.       QLOSRF(IA)=FAROOF*ROFOM(IA)*SIGMA*(T14-TODBR4)*RAREA(IA)
  73. C     SKY RADIATION CORRELATION 
  74.       PW=(PATM*WODHUM/(.62198+WODHUM))*29.92
  75.       TDP=((ALOG(PW)*1.8893)+30.5790)*ALOG(PW)+79.047
  76.       TDPC=(TDP-32.)*0.5555 
  77. C     CHECK NIGHT OR DAY
  78.       IF (SOLARL(1).EQ.0.) THEN 
  79.          ESKY=0.741+0.0062*TDPC 
  80.       ELSE
  81.          ESKY=0.727+0.006*TDPC
  82.          END IF 
  83.       QSKY(IA)=ISKY*SIGMA*(1.-FAROOF)*(ROFOM(IA)*T14-ESKY*TODBR4) 
  84.      +         *RAREA(IA) 
  85.       RRAREA=1./RAREA(IA) 
  86.       RARAT=SMA(IA)*RRAREA
  87. C    -----CALCULATE TEMPERATURES OF EACH ROOF LUMP
  88.       TR0=(SOLARL(IA)-(QLOSRF(IA)+QSKY(IA)*ISKY)*RRAREA)/HO+TODDB 
  89.       QCONRF=QCONRF+(TMP(1,IQZ)-TODDB)*HO*RAREA(IA)
  90.       K=KONRF(IA) 
  91.       TR1=TMP(1,IQZ)
  92.       TR2=TMP(2,IQZ)
  93.       TR3=TMP(3,IQZ)
  94.       TR4=TMP(4,IQZ)
  95.       IF(IDBG.NE.0)THEN 
  96.           TR1S=TR1
  97.           TR2S=TR2
  98.           TR3S=TR3
  99.           TR4S=TR4
  100.           ENDIF 
  101.       TC1=TCON(1,K) 
  102.       TC2=TCON(2,K) 
  103.       TC3=TCON(3,K) 
  104.       TC4=TCON(4,K) 
  105.       TC5=TCON(5,K) 
  106.       TC6=TCON(6,K) 
  107.       TC7=TCON(7,K) 
  108.       TC8=TCON(8,K) 
  109.       DO 504 I=1, NSUBR 
  110.          TR1N=(TC1*(TR2-TR1)+HO*TC2*(TR0-TR1))*DTR+TR1
  111.          TR2N=(TC3*(TR1-TR2)+TC4*(TR3-TR2))*DTR+TR2 
  112.          TR3N=(TC5*(TR2-TR3)+TC6*(TR4-TR3))*DTR+TR3 
  113.          QRFATC=CON1*(SMT4-(TR4+FTR)**4)
  114.          QRFSUM(IA)=QRFSUM(IA)+QRFATC
  115.          TR4N=(TC7*(TR3-TR4)+TC8*(QROOF(IA)/RAREA(IA) 
  116.      1             +QRFATC*RARAT))*DTR+TR4
  117.          TR1=TR1N 
  118.          TR2=TR2N 
  119.          TR3=TR3N 
  120.          TR4=TR4N 
  121. 504      CONTINUE 
  122.       TMPN(1,IQZ)=TR1 
  123.       TMPN(2,IQZ)=TR2 
  124.       TMPN(3,IQZ)=TR3 
  125.       TMPN(4,IQZ)=TR4 
  126.       QRFSUM(IA)=QRFSUM(IA)/NSUBR 
  127.       QRADRF=QRADRF+QRFSUM(IA)*SMA(IA)
  128.       QLSRF=QLSRF+QLOSRF(IA)
  129.       QSKYS=QSKYS+QSKY(IA)
  130.       IF(IDBG.NE.0)THEN 
  131.           WRITE(60,600)IA,HO, TODBR4, TODDB, ISKY, FAROOF, 
  132.      +                NSUBR, EATTC1, EATTC2, DTIM1, TR0, QRFSUM,
  133.      +                QRADRF, QLOSRF(IA), QSKY(IA), QROOF(IA) 
  134.           WRITE(60,601)DTR,   FASGE1,FASGE2,SMT(IA),SMA(IA), 
  135.      +    IQZ,TR4,         T1,T14,TDP,TDPC,SOLARL(IA),ESKY, 
  136.      +    ISKY,SIGMA,FAROOF,ROFOM(IA),RAREA(IA),
  137.      +    TR0,SOLARL(IA),K,TATTA(IA), 
  138.      +    TR1S,TR1,TR2S,TR2,TR3S,TR3,TR4S,TR4,
  139.      +    RRAD,QRFATC,    DTIM1,ACEIL(IA),
  140.      +    TC1,TC2,TC3,TC4,TC5,TC6,TC7,TC8 
  141.           ENDIF 
  142.   510 CONTINUE
  143.       RETURN
  144.   600 FORMAT(10X,'ROOFC:IA,HO,TODBR4,TODDB= ',I3,3G13.5/
  145.      +10X,'            ISKY,FAROOF,NSUBR= ',       I5,G13.5,I5/ 
  146.      +10X,'EATTC1,EATTC2,DTIM1    = ',3G13.5/ 
  147.      +10X,'TR0,QRFSUM(1),QRFSUM(2),QRADRF,QLOSRF= ',5G13.5/ 
  148.      +10X,'QSKY,QROOF(IA)= ',2G13.5)
  149.   601 FORMAT(10X,'DTR,   FASGE1,FASGE2,SMT(1),SMA(1)= ',5G13.5/ 
  150.      +10X,'IQZ,T4,        T1,T14= ',I5,3G13.5/
  151.      +10X,'TDP,TDPC,SOLARL(1),ESKY= ',4G13.5/ 
  152.      +10X,'ISKY,SIGMA,FAROOF,ROFOM(1),RAREA(1)= ',I5,4G13.5/
  153.      +10X,'TR0,SOLARL(1),K,TATTA(1)= ',2G13.5,I5,G13.5/ 
  154.      +10X,'TR1,TR1N= ',2G13.5/
  155.      +10X,'TR2,TR2N= ',2G13.5/
  156.      +10X,'TR3,TR3N= ',2G13.5/
  157.      +10X,'TR4,TR4N= ',2G13.5/
  158.      +10X,'RRAD,QRFATC,    DTIM1,ACEIL(1)= ',4G13.5/
  159.      +10X,'TC1= ',G13.5,'  TC2= ',G13.5/
  160.      +10X,'TC3= ',G13.5,'  TC4= ',G13.5/
  161.      +10X,'TC5= ',G13.5,'  TC6= ',G13.5/
  162.      +10X,'TC7= ',G13.5,'  TC8= ',G13.5)
  163.   602 FORMAT(1X,'ROOFC:TC1,TC2,TC3,TC4= ',4G13.5/ 
  164.      +1X,'TC5,TC6,TC7,TC8= ',4G13.5/
  165.      +1X,'HO,DTR,RRAD,    SIGMA= ',4G13.5/
  166.      +1X,'SMT(IA),FTR,SMT4,CON1= ',4G13.5/
  167.      +1X,'DT,HIR,DTRC8,SMA(IA),RRAREA,RARAT= ',6G13.5)
  168.   603 FORMAT(1X,'TR0,TR1,TR2,TR3,TR4,TATTA(IA)= ',6G13.5) 
  169.   604 FORMAT(1X,'TR1N,TR2N,TR3N,TR4N,QRFATC,QRFSUM(IA)= ',6G13.5) 
  170.       END 
  171.