<<

)

Sty'

\i>

Nils!!,/

\&

\&*/'

W

\^y

\gy

Vsty'

Ni$y

S^y

Visy

Vs^y Copyright © 1983, Small System Services, Inc. All rights reserved. Reproduction ortranslation ofany part of this work beyond that permitted bySections 107 and 108of the UnitedStates Copyright Act withoutthe permission of the copyright owner is unlawful. "Home Heating andCooling Audit" was originally published inCOMPUTE! Magazine, July &y 1981, Copyright © 1981, Small System Services, Inc. "Window Heat Loss/Gain" was originally published as"Window Heating Analysis" in COMPUTE! Magazine, December 1981, Copyright © 1981, Small System Services, Inc. "Energy Workbook" was originally published in COMPUTE! Magazine, March 1982, Copyright © 1982, Small System Services, Inc.

Printed in the United States of America by the Walnut Circle Press. w

ISBN 0-942386-10-8 Nsfcy

10 987654321 Small System Services, Inc., Post Office Box 5406, Greensboro, NC 27403, (919) 275-9809, isanindependent publisher ofquality consumer products for thepersonal computer industry, and is not associated with any manufacturer of personal computers. VIC-20 is a trademark ofCommodore Electronics Limited. Atariisa trademarkofAtari, Inc.TI-99/4A isa trademark Sumy of Texas Instruments. Commodore 64 and PET are trademarks of Commodore Business Machines. Apple isa trademark ofApple, Inc. Color Computer isa trademark ofRadio Shack.

W

\%y' Table ofContents

Introduction v

Energy Data Base 1

Energy Workbook 23

Energy Plot 61

Electric Usage Estimator 91

Home Heating And Cooling Audit 111

Heat Conduction 151

Buying A New Air Conditioner 169

Window Heat Loss/Gain 183

Window Shading Analysis 209

Ceiling Fan Analysis 227

Appendix 241 w w

V&y w w w Q

Vgy^

w

W w

w

w

w

w

\say

w

W

\^y

V«ey

^y

w

v&y

Vgy1

^gy*

w

sup1 Introduction

Each chapter in this book is designed to explore a significant aspect of home energy consumption. Chapters begin with a discussion of the methods and merits of a particular kind of energy analysis. Following that is a computer program translated into versions for each of these popular home computers: VIC, Atari, Apple, TI-99/4A, Commodore 64, Radio Shack Color Computer, PET/CBM, and OSI. The programs will analyze and report suggested alterations or improvements to windows, insulation, and other areas of your home where a small investment of time or money now may yield a significant future savings in your energy dollars. Once the computer has information on your geographical area, your current expenses, and details about your house itself, it can provide specific, objective projections. Have your heating costs been increasing by 30% or more each year? Are you considering storm windows, a clock thermostat, more insulation, caulking, weather- stripping, or other defensive measures against the upward spiral of utility costs? Since everyone's home is different and there are great variations in climatic conditions in the United States, it is often difficult to determine which of many alternatives is the best way to go about reducing energy consumption. These programs, utilizing the particular characteristics of your house together with the climate in your area, report projected savings for the homeowner. The effects of a great variety of different energy-saving improvements at locations anywhere within the contiguous 48 states are analyzed and forecast in complete, understandable reports. You can use these graphs and reports to look at projected savings, together with costs and the current economic outlook to decide if each approach meets your criteria for a worthwhile investment. Here's a major personal financial problem which can directly benefit from the speed and power of your personal computer. It's one of the fastest ways to make the computer pay for itself. When friends and neighbors find out what you're up to, don' be surprised if they ask you for a home energy analysis too. In most cases, these programs can result in very impressive savings. The Apple and PET/CBM versions are the same as the Commodore 64 versions except in those cases ("Energy Plot" for example) where graphics variations required individualized programs. In some cases ("Home Heating And Cooling" for example), a lengthy series of DATA statements is identical in each computer's version. When this is the case, simply add the separate DATA list to your computer's program. If you are using an 80-column screen such as the CBM 8032, some programs contain information in REM statements to make adjustments for a more pleasing screen format. All programs are clear and well-commented. With the exception of "Energy Plot," the screen formats are essentially interchangeable and do not rely on graphics or computer-specific video techniques. There are notes in each chapter about any special handling required for particular computer models. Before typing in any of the programs in this book, check the Appendix for an explanation of the conventions used in listing special keyboard characters.

Q

Q

Q

Q Energy Data Base

Note: Thisprogram creates files of energy usage data for future reference and foruse by other programs in this book. The OSI, Atari, Apple, and Color Computer versions store the filesto disk. The VIC, PET/CBM/64, and TIversionscreatedata files on tape.

Keeping track of energy use and cost is an integral part of any serious attempt at conserving energy cost. I have been doing this for several years by simply graphing my energy use on a chart, using my electric and natural gas bills. This is quite adequate to determine when I am reducing my energy use. However, unless I also keep track of the cost, I am seeing only part of the picture. If I were to start keeping track of the cost on a chart, there would undoubtedly be other factors (such as cost per unit of energy or energy used per degree day) that I would also want to plot, and if I were not careful, Iwould end up plotting so many different factors that this would become a burden and I would likely forget the whole idea. This data base program allows both energy use and cost to be saved on disk or tape and recalled by other programs, so that I don't have to constantly enter the same data in various programs. The data are saved by month and year, and additional data can be added as the need occurs. The dimensions for the energy () and cost ()are made to be variable so that the program can be run on systems of varying size. The program has provisions to create and edit files called "NATGAS," "ELECT," "COAL," "OIL," and "WOOD." Should you desire to add other utilities, such as water, then simply remove one of the unused utilities from lines 380-420. The program has five commands: = list data, I = input data, = get data from disk or tape, S = save data to disk or tape, and E = edit data (includes adding an additional year). Adding Additional Years When you enter "edit", a year of data will be displayed. If you desire to edit a different year, simply answer "" to the prompt "Is line to be edited shown". Once the year desired is shown, answer with "Y", and the program will prompt you for the month desired. The program requires an exact match with the string for the 1 W

month, so be sure to enter the month as abbreviated in the program. w Ifyou want to enter an additional year ofdata, answer "N"to w each existing year as it is displayed. The program will add one to the number of years of data (N) and willgo into input mode when w you answer that you want to add to the numberofyears. If you w plan on adding an additionalyear ofdata to the data base, you must allow for this addition when answering the prompt at the ^ beginning of the program for the number of years. w;

Reference: w Retelle, Bob. PEEK (65), vol. 2(October 1981), p. 14 (P.O. Box 347, w Owings Mills, MD 21117).

Table. Sample Run — Electric Usage Data.

ENERGY DATA BASE w!

# YEARS FOR DATA BASE (DEFAULT=5)? 3 ^

(L,I,G,S,E)? I

1) NATURAL GAS 2) ELECTRICITY W 3) COAL w 4) OIL 5)WOOD W

CHOOSE ONE ? 2

BEGINNING YEAR 1979 W ENDING YEAR 1981

YEAR ELECT ELECT 1979 USAGE COST JAN 750 30.19 FEB 827 33.16 MAR 718 31.86 Ntty APR 728 31.64 MAY 875 35.95 JUNE 1192 50.92 1

JULY 1768 76.92 AUG 2043 86.1 SEPT 2166 88.1 OCT 664 30.99 NOV 775 33.58 DEC 777 34.39

YEAR ELECT ELECT 1980 USAGE COST JAN 714 37.54 FEB 679 34.02 MAR 673 31.34 APR 716 31.53 MAY 861 40.75 JUNE 1576 81.07 JULY 1980 102.36 AUG 2043 105.62 SEPT 1761 92.2 OCT 1261 67.49 NOV 775 41.48 DEC 955 46.43

YEAR ELECT ELECT 1981 USAGE COST JAN 777 38.26 FEB 846 43.21 MAR 804 45.14 APR 933 52.96 MAY 1098 62.33 JUNE 1570 107.8 JULY 1980 141.03 AUG 2046 137.08 SEPT 1638 109.91 OCT 1370 91.47 NOV 605 37.84 DEC ' 833 53.83 Program 1. OSI Version. 10 REM ENERGY DATABASE 25 *»CHR*<13> 30 GOSUB530:PRINTTAB(25>*"ENERGY DATA BASE":PRINTXPRINT:PRINT 35 REMPOKE2888»0:POKE8722,0:REM ACCEPT NULL INPUT 40 INPUT"* YRS FOR DATA BASE":n:IFN«0THENN=5 50 dimm«<12>,e,d 60 fori«itoi2:readm*:next:print 70 datajan,feb,mar,apr,may,june,july,aug,sept,oct,nov,dec 80 print"68)+70>+72>+75)+82> 110 ONABSGOSUB130,320,350,270,510:GOTO80 115 END 120 REM EDIT 130 printtab(io>:"edit":fori=iton:gosub48o:form'=itoi2:printm*(>:tab jd:next 150 print:print"is line to be edited shown?":print" or " 160 gosub540:ifc=78thennext:goto220 170 ifco89then160 180 input"month to edit"*a*:f0rj=lt012:ifm*:iNPUT"ENERGY USAGE"*E 210 RETURN 220 PRINT"ADD 1 YEAR TO DATA BASE, OR " 230 GOSUB540:iFC=78THENRETURN 240 IFCO89THEN230 250 EY»EY+1:N»N+1:=N:GOSUB460:RETURN 260 REM LIST DATA

I €' i C! i I I € I I € I I C I € € € C € C € t I ij € I t C L> •L> €< i; € I (( (((UM( (( (( M f M ((M ( (((( ((.M'f C

270 FORI«1TON:GOSUB480:FORM»1T012:PRINTM»:TAB(29)J 280 printd:next:print:print:print"any key to continue" 290 GOSUB540 300 NEXT:RETURN 310 REM GET DISK FILE 320 input"disk file namem:c*:disk 0PEN,6,C$:iNPUT#6,N,BY,EY 330 fori«iton:form=itoi2:input#6,e,d:next:next:return 340 rem input data 350 k»l:print:print:print"1)natgas":print"2)elect":print"3)coal" 360 print"4>oil":print"5>wood":print:print:print"choose one" 370 GOSUB540:iFC<49ORC>53THEN370 380 IFC»49THENC*="NATGAS":GOTO440 390 IFC*50THENC*="ELECT":GOTO440 400 IFC»51THENC»="C0AL":GOTO440 410 IFC=52THENC*="OIL":GOTO440 420 IFC=53THENC*="W00D":GOTO440 430 GOTO370 440 GOSUB530: INPUT "BEGINNING YEAR-'JBY 450 INPUT"ENDING YEAR":EY:N<=EY-BY+1 460 FORI=KTON:GOSUB480:FORM*1T012:PRINTM*:TAB(15)} 470 INPUTE IXINPUTD(I,M >:NEXT:GOSUB530:NEXT:RETURN 480 GOSUB530:PRINT"YEAR"JTAB(15)}C*?TAB(29>:C* 490 PRINTI+BY-1X TAB <15)J"USAGE"J TAB <29)X"COST":RETURN 500 REM SAVE DATA TO DISK { 510 print-'saving ":c*?" to diskm:disk open,6,c*:print#6,n:r$:by:r«:ey 520 fori=iton:form=itoi2:print#6,e 525 next:next:disk close,6:return 530 forl=ito2o:print:next:return 540 disk!"go 252b":c*peek<9815>:return:rem peek keyboard Vim/'

Program 2. VIC Version. 10 REM ENERGY DATABASE VIC VERSION 30 R$=CHR$(13):PRINT"{CLEAR} ENERGY DATA BA w SE{03 DOWN}" 40 N=5:PRINT"# YEARS FOR DATA BASE":PRINT"DES w IRED,";:INPUT"DEFAULT=5";N w 50 DIMM$(12),E(N,12),D(N,12) 60 F0RI=1T012:READM$(I):NEXT:PRINT ^ 70 DATAJAN,FEB,MAR,APR,MAY,JUNE,JULY,AUGfSEPT ^ ,OCT,NOV,DEC 80 PRINT"(L,I,G,S,E){DOWN}" w 90 GETY$:IFY$=""THEN90 100 C=ASC(Y$):Y=(O68) +(C>70) +(C>72) +(O75)+ (C w >82):ONABS(Y)GOSUB130,320,350,270,510 w 110 GOTO80 120 REM EDIT W 130 PRINT"{CLEAR}EDIT":FORI=1TON:GOSUB480:FORM w =1T012:PRINTM$(M);TAB(6);E(I,M);TAB(1 3);D(I,M) w 140 NEXT , , 150 PRINT"{D0WN}IS LINE TO BE EDITED SHOWN?": w PRINT" OR " w 160 GETY$:IFY$=CHR$(78)THENNEXT:GOTO220 170 IF Y$OCHR$(89)THEN160 w 180 INPUT"MONTH TO EDIT";A$:F0RJ=1T012:IFM$(J) Sii£> <>A$THENNEXT 190 PRINT"{UP}EDIT MONTH OF "; :PRINTM$(J);E(I, w J);D(I,J):INPUT"ENERGY USAGE";E(I,J) 200 INPUT"ENERGY COST";D(I,J) w 210 RETURN w 220 PRINT"ADD 1 YR TO DATA BASE "; 230 GETY$:IFY$=CHR$(78)THENRETURN ^ 240 IF Y$OCHR$(89)THEN230 250 EY=EY+1:N=N+1:K=N:GOSUB460:RETURN 260 REM LIST DATA W 270 FORI=1TON:GOSUB480:FORM=1TO12:PRINTM$(M);T AB(6);E(I,M);TAB(13);D(I,M):NEXT w 280 PRINT"{DOWN}ANY KEY TO CONTINUE" w 290 GETY$:IFY$=""THEN290 3 00 NEXT:RETURN ^ 310 REM GET TAPE FILE 320 INPUT"TAPE FILE NAME";C$:OPENl,1,0,C$:INPU T#1,N,BY,EY w 330 FORI=lTON:FORM=lT012:INPUT#l,E(I,M),D(I,M) \^

8 ^ :NEXT:NEXT:CL0SE1:RETURN 340 REM INPUT DATA 3 50 K=l:PRINT"1) NATURAL GAS":PRINT"2) ELECTRI CITY":PRINT"3) COAL":PRINT"4) OIL" 360 PRINT"5) WOOD":PRINT"{DOWN}CHOOSE ONE" 370 GETY$:IFY$<>"1"ANDY$<>"2"ANDY$<>"3,,ANDY$<> "4"ANDY$O"5"THEN370 380 IFY$="1"THENC$="NATGAS":GOTO440 390 IFY$="2"THENC$="ELECT":GOTO440 400 IFY$="3"THENC$="COAL":GOTO440 410 IFY$= "4,,THENC$= ,,OIL":GOTO440 420 IFY$="5"THENC$="WOOD":GOTO440 430 GOTO370 440 INPUT"{CLEAR}BEGINNING YEAR";BY 450 INPUT" {DOWN}ENDING YEAR" ;EY:N=EY-BY+1 460 FORI=KTON:GOSUB480:FORM=1TO12:PRINTM$(M);T AB(6); 470 INPUTE(I,M) :PRINTTAB(13);"{UP}"; :INPUTD(I, M):NEXT:PRINT:NEXT:RETURN 480 PRINT"{CLEAR}YEAR";TAB(6);C$;TAB(13);C$ 490 PRINTI+BY-1;TAB(6);"USAGE" ;TAB(13);"COST": RETURN 5 00 REM SAVE DATA TO TAPE 510 PRINT"SAVING ";C$;" TO TAPE":OPEN1,1,1,C$: PRINT#1,N;R$;BY;R$;EY:FORI=lTON:FORM= 1T012 5 20 PRINT#1,E(I,M);R$;D(I,M):NEXT:NEXT:CLOSE1: RETURN

Program 3. PET/CBM/64 Version*

10 REM ENERGY DATABASE 30 R$=CHR$ (13) -.PRINT" {CLEAR} ENERGY DATA BASE{03 DOWN}" 40 N=5:PRINT"# YEARS FOR DATA BASE DESIRED,": INPUT"DEFAULT=5";N 50 DIMM$(12),E(N,12),D(N,12) 60 FORI=lT012:READM$(I):NEXT:PRINT 70 DATAJAN,FEB,MAR,APR,MAY,JUNE,JULY,AUG,SEPT fOCT,NOV,DEC 80 PRINT"(L,I,G,S,E){DOWN}" 90 GETY$:IFY$=""THEN90 100 C=ASC(Y$) :Y=(O68).+ (C>70) + (C>72) + (O75) + (C 1

>82):ONABS(Y)GOSUB130,320,350,270,510 110 GOTO80 120 REM EDIT 130 PRINT"{CLEAR} EDIT":FORI =1TON:GOSUB480:FORM=1T012 140 PRINTM$(M);TAB(14);E(I,M);TAB(27);D(I,M):N EXT 150 PRINT"{DOWN}IS LINE TO BE EDITED SHOWN?":P RINT" OR " 160 GETY$:IFY$=CHR$(78)THENNEXT:GOTO220 170 IF Y$OCHR$(89)THEN160 180 INPUT"MONTH TO EDIT";A$:FORJ=lT012:IFM$(J) <>A$THENNEXT 190 PRINT"{UP}EDIT MONTH OF ";:PRINTM$(J);E(I, J);D(I,J):INPUT"ENERGY USAGE";E(I,J) 200 INPUT"ENERGY COST";D(I,J) 210 RETURN 220 PRINT"ADD 1 YR TO DATA BASE "; 230 GETY$:IFY$=CHR$(78)THENRETURN 240 IF Y$OCHR$(89)THEN230 250 EY=EY+1:N=N+1:K=N:GOSUB460:RETURN 260 REM LIST DATA 270 FORI=1TON:GOSUB480:FORM=1T012:PRINTM$(M);T AB(14);E(I,M);TAB(27);D(I,M):NEXT 280 PRINT"{DOWN}ANY KEY TO CONTINUE" 290 GETY$:IFY$=""THEN290 300 NEXT:RETURN 310 REM GET TAPE FILE 320 INPUT"TAPE FILE NAME";C$:OPENl,1,0,C$:INPU T#1,N,BY,EY 330 FORI=lTON:FORM=lT012:INPUT#l,E(I,M),D(I,M) :NEXT:NEXT:CLOSE1:RETURN 340 REM INPUT DATA 350 K=1:PRINT"1) NATURAL GAS":PRINT"2) ELECTRI CITY":PRINT"3) COAL":PRINT"4) OIL" 360 PRINT"5) WOOD":PRINT"{DOWN}CHOOSE ONE" 370 GETY$:IFY$<>"1"ANDY$<>"2"ANDY$0"3"ANDY$<> "4"ANDY$O"5"THEN370 380 IFY$="1"THENC$="NATGAS":GOTO440 390 IFY$="2"THENC$="ELECT":GOTO440 400 IFY$="3"THENC$="COAL":GOTO440 410 IFY$="4"THENC$="OIL":GOTO440 420 IFY$="5"THENC$="WOOD":GOTO440 430 GOTO370

10 440 INPUT"{CLEAR}BEGINNING YEAR";BY 450 INPUT"{DOWN}ENDING YEAR";EY:N=EY-BY+1 460 FORI=KTON:GOSUB480:FORM=lTO12:PRINTM$(M);T AB(14); 470 INPUTE(I,M):PRINTTAB(27);"{UP}";:INPUTD(I, M):NEXT:PRINT:NEXT:RETURN 480 PRINT"{CLEAR}YEAR";TAB(14);C$;TAB(27);C$ 490 PRINTI+BY-1;TAB(14);"USAGE";TAB(27);"COST" :RETURN 500 REM SAVE DATA TO TAPE 510 PRINT"SAVING ";C$;" TO TAPE":OPENl,1,1,C$: PRINT#l,N;R$;BY;R$;EY:FORI=lTON:FORM= 1T012 520 PRINT#1,E(I,M);R$;D(I,M):NEXT:NEXT:CLOSEl: RETURN

Program 4. Atari Version. 10 REM *** ENERGY DATA BASE *** 20 REM *** ATARI VERSION *** 30 POKE 752,1:POKE 82,2s? CHR*<125>:0 PEN #1,4,0, MK: " s POKE 85,11:? "QHIdE EEHEEOEBEEaCl ":? :? :? 50 DIM M*<4),M0NTH*(48),FILENAME*(12) ,A*(4),E(10,12),D<10,12),TT*(14) 60 FOR 1=1 TO 12:READ M*:MONTH*(LEN(M ONTH*)+l)=M*:FOR J=0 TO N:D(J,I)=0 :E

•I 90 ? :? "BIST DATA":? :? "0MPUT DATA" :? :? "GET DATA":? :? "HAVE DATA": ? :? "r=0IT DATA":? lOO GET #1,A 110 IF A=76 THEN GOSUB 310 120 IF A=73 THEN GOSUB 390 130 IF A=71 THEN GOSUB 360 140 IF A=83 THEN GOSUB 550 150 IF A=69 THEN GOSUB 170 160 GOTO 90

11 1

170 ? CHR*<125>:POKE 85,10:? "HEEiO":F OR 1=1 TO N:GOSUB 530 ISO A=l:FOR M=l TO 12:P0KE 85,1:? MON TH*;:A=A+4:POKE 85,8:? E?" 200 GET #1,A:IF A=78 THEN NEXT I:GOTO 270 210 IF A<>89 THEN 200 220 ? "MONTH YOU WANT TO EDIT";:INPUT A*:A=1:F0R J=l TO 12 230 IF MONTH* IS NOT A MONTH .":GOTO 220 240 ? :? "EDIT MONTH OF ";MONTH*(A,A+ 3>:E:"/":D

325 A=A+4:NEXT M 330 ? :? :? "HIT ANY KEY TO CONTINUE" 340 GET #1,A 350 NEXT I:RETURN 360 REM GET DISK FILE 362 GOSUB 400 365 TT*="D:":TT*<3)=FILENAME* 370 OPEN #2,4,0,TT*:INPUT #2,N,BY,EY: FOR 1=1 TO N 380 FOR M=l TO 12:INPUT #2,E,D:E

12 =E:D49 AND AO50 AND A <>51 AND A<>52 AND A<>53 THEN 420 430 IF A=49 THEN FILENAME*="NATGAS":G OTO 490 440 IF A=50 THEN FILENAME*="ELECTRIC" :GOTO 490 450 IF A=51 THEN FILENAME*="COAL":GOT O 490 460 IF A=52 THEN FILENAME*="OIL":GOTO 490 470 IF A=53 THEN FILENAME*="WOOD":GOT 0 490 480 GOTO 420 490 RETURN 499 ? CHR*<125):? "BEGINNING YEAR";:I NPUT BY 500 ? "ENDING YEAR";:INPUT EY:N=EY-BY + 1 510 A=1:F0R I=K TO N:GOSUB 530:FOR M= 1 TO 12:? M0NTH*"; 520 POKE 85,22:INPUT D:D

13 1

#2;EY:FOR 1 = 1 TO NsFOR M=l TO 12: ? •2;E(IfM)s? #2;D(I,M) 570 NEXT M:NEXT IsCLOSE #2:RETURN

Program 5. Color ComputerVersion.

10 REM DATABASE 20 CLS:PRINTTAB(8);"ENERGY DATA BASE":PRINT 30 PRINT"# OF YEARS FOR DATA BASE":INPUT"DESI RED, DEFAULT=5";N;IFN=0THENN=5 40 DTMM$(12),E(N,12),D(N,12) 50 F0RI=1T012:READM$(I):NEXT 60 DATAJAN,FEB,MAR,APR,MAY,JUNE,JULY,AUG,SEPT ,OCT,NOV,DEC 70 PRINT"(L,I,G,S,E)"zPRINT 80 Y$=INKEY$:IFY$=""THEN80 90 C=ASC(Y$) :Y=(C>68) + (O70) + (C>72) + (O75) + (C >82) 95 ONABS(Y) GOSUB 110,220,230,190,300 100 GOTO70 110 CLS:PRINTTAB(10);"EDIT":FORI=1TON:GOSUB290

115 F0RM=1T012:PRINTTAB(1);M$(M);TAB(8);E(I,M) ;TAB(17);D(I,M):NEXT 120 PRINT"IS LINE TO BE EDITED SHOWN?":PRINT"< Y> OR " 130 Y$=INKEY$:IFY$=CHR$(78)THENNEXT:GOTO160ELS EIFY$OCHR$(89)THEN130 140 INPUT"MONTH DESIRED TO EDIT";A$:F0RJ=1T012

141 IFM$ (J)OA$THENNEXTELSEPRINT"EDIT MONTH OF ";M$(J);E(I,J)vD(I,J) 142 IFM$ (J)OA$THEN INPUT"ENERGY USAGE" ;E (I , J) :INPUT"ENERGY COST";D(I,J) 150 RETURN 160 PRINT"ADD 1 YEAR TO DATA BASE?"; 170 Y$=INKEY$:IFY$=CHR$(78)THENRETURNELSEIFY$< >CHR$(89)THEN170 180 EY=EY+1:N=N+1:K=N:GOSUB280:RETURN 190 FORI=1TON:GOSUB290:FORM=1TO12:PRINTM$(M);T AB(8);E(I,M);TAB(17);D(I,M) 195 NEXT:PRINT"HIT ANY KEY TO CONTINUE" 200 IFINKEY$=""THEN200

14 1

210 NEXT:RETURN 220 INPUT"DISK FILE NAME";C$:OPEN "I",#1,C$:IN PUT#1,N,BY,EY:F0RI=1T0N 2 25 F0RM=1T012:INPUT#1,E(I,M),D(I,M):NEXT:NEXT :CL0SE#1:RETURN 230 K=1:PRINT" 1) NATURAL GAS":PRINT" 2) ELECT RICITY":PRINT" 3) COAL" 235 PRINT" 4) OIL":PRINT" 5) WOOD":PRINT:PRINT "CHOOSE ONE" 240 Y$= INKEY$:IFY$<>I,1"ANDY$<>"2"ANDY$<>"3"AND Y$<>"4I,ANDY$O"5"THEN240 2 50 IFY$="1"THENC$="NATGAS"ELSEIFY$="2"THENC$= "ELECT"ELSEIFY$="3"THENC$="COAL" 2 55 IFY$=H4"THENC$="OILnELSEIFY$="5"THENC$="WO OD"ELSE230 260 INPUT"BEGINNING YEAR";BY 270 INPUT"ENDING YEAR";EY:N=EY-BY+1 280 FORI=K TON:GOSUB290:FORM=1TO12:PRINTTAB(1) ;M$(M);TAB(8);:INPUTE(I,M) 285 PRINT @81+32*(M-1),"";:INPUTD(I,M):NEXT:PR INT:NEXT:RETURN 290 CLS:PRINT" YEAR";TAB(8);"ENERGY";TAB(17);" ENERGY";TAB(25);C$ 295 PRINTI+BY-1;TAB(8);"USAGE";TAB(18);"COST": RETURN 300 OPEN "0",#l,C$:WRITE#l,N,BY,EY:FORI=lTON:F 0RM=1T012:WRITE#1,E(I,M),D(I,M) 310 NEXT:NEXT:CLOSE#l:RETURN

Program 6. TI-99 Version. lO REM energy database, TI version 22 CALL CLEAR 23 CALL SCREEN(7) 30 GOSUB 530 32 PRINT TAB(7>;"energy data base": s

50 DIM M*(12>,E(10,12>,D<10,12> 55 REM dimension currently set up for 10 years 60 FOR 1=1 TO 12 62 READ M*

15 Vfey 66 PRINT 70 DATA JAN,FEB?MAR,APR,MAY,JUNE5JULY w , AUG, SEPT ,OCT, NOV., DEC w 80 PRINT " <1 , i , g, s, e> " 90 GOSUB 540 95 IF 68> -i- (070) + 72) + 75> + 82) 105 CALL CLEAR w 110 ON ABS(Y)GOSUB 130,320,350,262,51 O ^ 112 GOTO 80 w 115 END 120 REM edit w 130 PRINT "edit" w 132 FOR 1=1 TO N 134 GOSUB 480 w 136 FOR M=l TO 12 w 138 PRINT M*;TAB(21 >;D or " w 160 GOSUB 540 w 162 IF C<>78 THEN 170 164 NEXT I w 166 GOTO 220 w 170 IF C<>89 THEN 160 180 INPUT "month to edit? ":A$ w 182 FOR J=l TO 12 w 184 IF SEG*(M*,1,3>=SEG*(A*,1,3>TH EN 190 w 186 NEXT J w 190 PRINT "edit month of ";M* or " 230 GOSUB 540 ^

232 IF C<>78 THEN 240 sty

vis/' 16 234 RETURN 240 IF C<>89 THEN 230 250 EY=EY+1 252 N=N+1 254 K=N 256 GOSUB 460 258 RETURN 260 REM list data 262 FOR 1=1 TO N 264 GOSUB 480 266 FOR M=l TO 12 268 PRINT M*,D 335 INPUT #2iE(I,8),D

17 Sim^'

w

4_ )

Vfey 358 PRINT TAB53)THEN 370

380 IF C<>49 THEN 390 Vfey 382 C*="natgas" w 384 GOTO 440 390 IF C050 THEN 400 w 392 C*="elect" S^gi/ 394 GOTO 440 400 IF C<>51 THEN 410 Si^y 402 C*="coal" V^/ 404 GOTO 440

410 IF CO-52 THEN 420 Sihis/' 412 C*="oil" W 414 GOTO 440 420 IF C<>53 THEN 430 W 422 C*="wood" st^y 424 GOTO 440 430 GOTO 370 %&J 440 GOSUB 530 W 442 INPUT "beginning year? ": BY

444 INPUT "ending year? ":EY ^fc/ 450 N=EY-BY+1 VQ/ 460 FOR I=K TO N

462 GOSUB 480 \fc/ 464 FOR M=l TO 12 Vsy 466 PRINT M*

470 INPUT E(I,M) N#jiy 472 PRINT TAB<21); \^/ 474 INPUT O(I.M)

475 NEXT M ^y 476 GOSUB 530 Sjaki/'' 477 NEXT I

478 RETURN Viifcy 479 REM ************ \Hi/ 480 GOSUB 530 482 PRINT "year";TAB<10);C*;TAB<21) ;C '*ii^/' * yogas' 490 PRINT I+BY-i;TAB

18

vug/ 1

500 REM save data to tape*** 510 PRINT "saving ";C*;" to tape" 512 OPEN #2:"CS1",SEQUENTIAL,INTERNAL .OUTPUT,FIXED 128 514 PRINT #2:C*,N,BY,EY 520 FOR 1=1 TO N 524 PRINT #2:E(I, 1) ,D(I, 1 )-, E < I , 2) ,D(I ,2),E(I,3),D(I,3),E

Program 7. AppleVersion.

10 REM ENERGY DATABASE APPLE VERSION 30 HOME i INVERSE s PRINT " ENERGY DATA BA SE "iD«« CHR* (4)1 NORMAL i PRINT i PRINT

40 N = 52 PRINT "# OF YEARS FOR DATA BASE DE SIRED,"I INPUT " DEFAULT=5s uiN*aN • VAL

70 DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,BE P,OCT,NOV,DEC 80 HOME i PRINT s INVERSE i PRINT "Luj« NORMAL 8 PRINT "1ST DATA" 81 PRINT 8 INVERSE a PRINT "I"s« NORMAL 8 PRINT "NPUT DATA" 82 PRINT 8 INVERSE s PRINT "G" NORMAL 8 PRINT "ET DATA" 83 PRINT 8 INVERSE s PRINT "S"ji NORMAL 8 PRINT "AVE DATA"

19 1

85 PRINT a INVERSE a PRINT "E"|i NORMAL a PRINT "DIT DATA" 90 PRINT a PRINT "WHICH? "3 a SET Y*s IF Y$ = CHR* <27) THEN HOME a END 95 PRINT Y* 100 C- ASC (Y*)bY - 68) + 70) + (C > 72) + (C > 75) + 82)8 ON ABS

135 PRINT M*(M);a NORMAL a PRINT TAB< 6);E (I,M)3 TAB( 13)sD(I,M) 140 NEXT 150 PRINT a PRINT "IS LINE TO BE EDITED SHO WN? (Y/N)3"| 160 SET Y*a IF Y* = CHR* (78) THEN HOME a NEXT a 60T0 220 170 IF Y* < > CHR* (89) THEN PRINT CHR* (7)58 60T0 160 180 PRINT a INPUT "MONTH TO EDIT? "3A*sA* = LEFT* (A*,3)a FOR J = 1 TO 12a IF M*(J ) < > A* THEN NEXT a PRINT CHR* (7)a SOTO 130 190 HOME a PRINT "EDIT MONTH OF";M*(J)%"a U SA6E ";E(I,J)5" COST *"jD(I,J)a PRINT

195 INPUT "ENER8Y USASE? "jT*a IF T* > "" THEN E(I,J) - VAL (T*) 200 INPUT "ENERSY COST? *"jT*a IF T* > "" THEN D(I,J) « VAL (T*) 210 RETURN 220 PRINT a PRINT "DO YOU WANT TO ADD ONE Y EAR"a PRINT "TO THE DATA BASE? (Y/N>a"?

230 GET Y*a IF Y* = CHR* (78) THEN RETURN

240 IF Y* < > CHR* (89) THEN PRINT CHR* (7);8 GOTO 230 * 250 EY m EY + IsN = N + laK - GOSUB 460a RETURN 260 REM LIST DATA 270 FOR I = 1 TO Na HOME a GOSUB 480a FOR M = 1 TO 12: IF M / 2 = INT (M / 2) THEN INVERSE 275 PRINT M*(M)5 8 NORMAL a PRINT TAB( 6)?E

20 1

(I,M); TAB( 13);D(I,M)s NEXT 280 PRINT a PRINT "PRESS ANY KEY TO CONTINU Es"; 290 GET Y* 300 NEXT 8 RETURN 310 REM GET DISK FILE 311 HOME 8 PRINT "GET DISK FILEa WHICH?"s PRINT a GOSUB 600 320 PRINT 8 FLASH a PRINT "READING ";C*s NORMAL a PRINT 321 ONERR GOTO 335 322 PRINT D*;"QPEN ";C*s PRINT D*;"READ ";C * 325 INPUT Ns INPUT BYa INPUT EY 330 FOR I « 1 TO Ns FOR M = 1 TO 12s INPUT E(I,M) INPUT D(I,M)a NEXT a NEXT 8 PRINT D*;"CLOSE";C*s POKE 216,0s RETURN 335 PRINT D*;"CLOSE";C*;a HOME a PRINT CHR* (7)8 PRINT a INVERSE s PRINT "ERROR REA DING ";C*;a FOR I = 1 TO 3000a NEXT a NORMAL a GOTO 80 340 REM INPUT DATA 350 HOME a PRINT "*** INPUT DATA ***"a PRINT a PRINT a GOSUB 600 445 INPUT "BEGINNING YEAR? "5BY 450 INPUT "ENDING YEAR? ";EYsN » EY - BY + 1 460 FOR I = K TO Ns HOME a GOSUB 480a PRINT a FOR M = 1 TO 12a PRINT M*(M); TAB( 6) ; 470 INPUT E(I,M)a VTAB 3 + Ma POKE 36,13a INPUT D(I,M)a NEXT s PRINT a NEXT a RETURN 480 INVERSE a PRINT "YEAR"; TAB( 6>;C*; TAB( 13);C* 490 PRINT I + BY - 1; TAB( 6)5"USAGE"; TAB( 13);"COST"a NORMAL s RETURN 500 REM SAVE DATA TO DISK 501 FLASH a PRINT a PRINT "WRITING ";C*a NORMAL s PRINT 503 ONERR GOTO 40 505 PRINT D*;"OPEN";C*a PRINT D*;"WRITE";C*

510 PRINT Na PRINT BYa PRINT EYa FOR I = 1 TO Na FOR M = 1 TO 12 520 PRINT E(I,M)8 PRINT D(I,M)a NEXT a NEXT

530 PRINT D*;"CLOSE";C*s POKE 216,0 535 RETURN

21 1

540 HOME s INVERSE a PRINT "ERROR "; PEEK ( 222);" TRYING TO WRITE ";C*s PRINT 8 PRINT s NORMAL s FOR W = 1 TO 3000s NEXT s PRINT D*;"CL0SE";C*8 GOTO 80 600 K = Is PRINT "D NATURAL GAS"s PRINT s PRINT "2) ELECTRICITY"s PRINT 8 PRINT "3) COA L"s PRINT s PRINT "4) OIL"s PRINT s PRINT "5) WOOD"s PRINT a PRINT "CHOOSE ONEs";

610 GET Y*s IF Y* « CHR* (27) THEN HOME s END 620 IF Y* = "1" THEN C* = "NATGAS" 630 IF Y* = "2" THEN C* = "ELECT" 640 IF Y* = "3" THEN C* = "COAL" 650 IF Y* = "4" THEN C* = "OIL" 660 IF Y* = "5" THEN C* - "WOOD" 670 IF Y* < "1" OR Y* > "5" THEN PRINT CHR* (7);s GOTO 610 680 PRINT Y*s RETURN

22

Q

Q Q &

© Q Q Q Q EnergyWorkbook

Note: TheDATA statements in lines 1000-2000 (Program 7)should be added to whichever version ofthe program you use.

The energy workbook programallows for a wide variety of fuels forboth heating and cooling: oil,naturalgas,electricity,wood, liquid petroleum, gas, and coal. The savingsdue to installing storm windows, changing thermostat settings, caulking and weather- stripping, or addingceiling or floor insulation are calculated for the homeowner. The required inputs are shown in Table 1. Repetitive calculations involving future energy cost can easily be made using the program, thus improving the homeowner's estimate of the accrued energy savings. The program is based on an algorithm from the Federal Energy Administration which dividesthe 48 contiguous states into climatic regions for coolingand heating for average housing, fuel, and climatic conditions. If the user's situation is unusual in terms of home construction, altitude, etc., additional advice from government offices or utility companies may be needed. Stringvariablesare used to read the table of states, cities, and heating () and cooling (C) factors. are used for delimiters separating the states from the citiesandtheir factors. Becauseof this, names of cities comprised of two or more words have had the interior blanks removed. Both the heating zone and the cooling zone range from zero to five, with five being the most severe winter climate and zero being the most severe summer climate. The heating and cooling zones are used to calculate a heating factor and a cooling factor. The fuel factors FH (I) and FC(I) are read from the DATA statements for the fuel chosen by the user, and a heating index (HI) or cooling index (CI) is calculated by the product of the heating (or cooling) factor times the fuel factor times the price per fuel unit. The fuel index (FI) is calculated by the sum of the heating index and cooling index. The annual heating fuel cost is taken from the total energy cost for the heating season times .85 to account for other uses of fuel (e.g., hot water heating). To account for other use such as lighting, the annual cooling cost is calculated from total cooling season fuel cost times .6.These ratios can be

25 checked by determining average off season to average in season usage. The appropriate ratios should be used in statements 175 and 200 (lines 177 and 206 in the TI version). The ratios in my home were .56 and .88 for cooling and heating respectively, quite close to the Energy Administration's estimate. Annual heating savings due to changing the thermostat setting are calculated from the product of the number of degrees turned down times the annual heating cost (HS) times a savings factor (Y). Additional savings due to setting back the nighttime temperature are calculated using a similar procedure, but with an added factor .3 (due to the reduced time the set back temperature is in effect). Cooling seasons savings are calculated from the annual cooling cost times .02 times the number of degrees the thermostat is turned up. The annual savings from caulking and weather- stripping are calculated from a draft factor times the total floor area times the fuel index. The draft factor is the sum of the factors for windows, doors, and general house condition, each of which ranges from 0 to .02 in steps of .01, ranging from a tight fit (0) to drafty. Annual savings from storm windows are calculated from the product of the single glass area, the factor 0.65, and the fuel index. The annual savings from adding ceiling insulation are computed from the product of the ceiling savings index (X-I), the first floor area, and the fuel index (line 470). The ceiling savings index is calculated as the difference between the conduction factor between the recommended ceiling insulation and the existing ceiling insulation. The recommended ceiling insulation is calculated in lines 450-460 and is only a function of the heating zone, thereby underestimating the savings accrued due to reducing air conditioning cost. The annual savings from floor insulation are calculated by the product of the floor factor (J), the floor savings index, the floor area, and the fuel index.

Reference Home Energy Saver's Workbook. FEA/D-77/117. Washington, D.C.: Government Printing Office, 1977.

26 Table 1. The items needed for Energy Workbook are the foUowing: 1) State 2) City 3) Heating fuel cost (e.g., .37 cents/cu. ft.) 4) Cooling fuel cost (e.g., 5.14 cents/KWH) 5) Square ft. of single glass windows in house 6) Annual heating fuel cost 7) Annual cooling fuel cost 8) Check leakage around windowsand doors with candleor cigarette 9) Floor area of house — sq. ft. 10) Ceiling R value, use following table:

R Values for Various Thicknesses of Insulation B£TT$ OR BLANKETS LOOSErREL #Xj|lpM^)> glass rock- glass 1toft* * eellulosic fiber w§of J i libel ' «0S9kM feer ; .; i'' § 3;"s; ^ R-U Ymw '.j^Lf^M f^^' ..' •.•*•**> R-13 , i-y^w t'i%$$& n^^-'t ^'I'lm^'i R49; :;$^644'' ' .'•• Sl*5^ I?'-»N^ ; '„ ''ek^'iC-;;>-•;.; ;.-rW. R-22 ; MH .' '$^;i^vnp^ ";>•"&$&.,: L :.«/* ,. j\f$k* R-26 .. 8* m* : 12" &'"'-! -. 7*,?%" , &2fr R-30 %W'-WV2*' *&»/>$ I BW , }.-0^i"^-;t!', 1* ;1 £30.. R-33 11" , 10" > 15" ii«*$*„: ', '9" , ' R-33 R-S8 12*-l3'' ' - tm^xi , ?P'4W (•'.**$&": *:'w*w*\ .••ftSftv: 11) First floor area — sq. ft. 12) Floor R value if basement is unheated or if house is on pillars.

Table 2* Sample Run.

ENERGY WORKBOOK

ITEMS NEEDED FOR WORKBOOK:

1) STATE & CITY 2) HEATING FUEL COST (E.G. .37 CENTS/CU FT) 3) COOLING FUEL COST (E.G. 5.14 CENTS/KWH) 4) SQ FT OF SINGLE GLASS WINDOWS 5) ANNUAL HEATING AND COOLING FUEL COST 6) CHECK FOR LEAKAGE AROUND WINDOWS AND DOORS WITH CANDLE 7) FLOOR AREA OF HOUSE - SQ FT 8) CEILING R VALUE - USE TABLE PROVIDED 9) FIRST FLOOR AREA - SQ FT 10) FLOOR R VALUE IF BASEMENT IS UNHEATED OR HOUSE IS ON PILLARS

27 STATE(DON'T ABBREVIATE)? TEXAS w

1 DALLAS 2 HOUSTON 3 BROWNSVILLE 4 AMARILLO W CHOOSE # FOR NEAREST CITY? 2 w

1 OIL/GALLON 2 NATGAS/CUFT W 3 electricity/kwh 4 wood/cord w 5 LPG/CUFT 6 LPG/LBS W 7 LPG/GALLON 8 COAL/TON

CHOOSE # FOR HEATING FUEL? 2 COST PER UNIT FOR HEATING FUEL (CENTS)? .45 W CHOOSE # FOR COOLING FUEL? 3 w COST PER UNIT FOR COOLING FUEL(CENTS)? 6

INPUT # OF SQ FT OF SINGLE GLASS WINDOWS DO NOT COUNT STORM WINDOWS OR SLIDING GLASS DOORS? 190 \^/ ANNUAL SAVINGS DUE TO STORM WINDOWS= 116.7 w

IS HEATING FUEL USED FOR OTHER PURPOSES, E.G. COOKING? Y W ANNUAL HEATING FUEL COST (DOLLARS)? 175 IS COOLING FUEL USED FOR OTHER PURPOSES, E.G. LIGHTING? Y ANNUAL COOLING FUEL COST (DOLLARS)? 800 w

THE FOLLOWING SECTION EVALUATES THE SAVINGS OBTAINED BY TURNING W THE THERMOSTAT DOWN IN WINTER OR UP IN SUMMER FROM THE SETTING YOU HAVE BEEN USING. ^

HEATING W DEGREES TURNED DOWN DURING DAY? 5 ^ SAVINGS =$ 37.18 ADDITIONAL DEGREES TURNED DOWN DURING NIGHT? 5 SAVINGS=$ 11.15 W ANNUAL TOTAL HEATING SAVINGS =$ 48.33

COOLING DEGREES THERMOSTAT TURNED UP DURING COOLING? 5 SAVINGS =$ 48 ^

TOTAL ANNUAL SAVINGS =$ 96.33

ANNUAL SAVINGS FROM CAULKING AND WEATHERSTRIPPING CHECK DRAFTS HOLDING CANDLE NEAR CRACK ON WINDY DAY in/

28 CHOOSE ONE OF FOLLOWING: 1) WINDOWS WITH GOOD FIT 2) SOME LEAKAGE 3) RATHER DRAFTY

CHOOSE ONE OF FOLLOWING: 1) DOORS FIT WELL 2) SOME LEAKAGE 3) DRAFTY

CHOOSE ONE OF FOLLOWING: 1) CAULKING AND WEATHERSTRIPPING GOOD 2) NEED REPAIR 3) NO CAULKING OR WEATHERSTRIPPING

FLOOR AREA OF HOUSE - SQ FT? 2000

ANNUAL SAVINGS FOR CAULKING AND WEATHERSTRIPPING = § 56.7

ANNUAL SAVINGS FROM CEILING INSULATION

CEILING R VALUE 19 FIRST FLOOR AREA OF HOUSE (SQ FT)? 2000

ANNUAL SAVINGS BY BRINGING CEILING R UPTO 26 = $ 22.68

IS HOUSE ON PILLARS OR AN UNHEATED BASEMENT? Y CHOOSE FOUNDATION FACTOR FROM LIST BELOW:

FACTOR FOUNDATION CHARACTERISTICS 0.5 BUILDING WITH TIGHT CRAWL SPACE 0.5 BUILDING WITH TIGHT BASEMENT (UNHEATED) 0.8 STONE WALL BASEMENT (UNHEATED) 0.8 2 FT OR MORE OF BASEMENT WALL EXPOSED (UNHEATED) 0.8 CRAWL SPACE SKIRTED 1.0 BUILDING ON PILLARS WITH NO SKIRTS

FLOOR FACTOR FROM ABOVE TABLE? 1 CURRENT R FACTOR FOR FLOOR? .077

ANNUAL SAVINGS BY INCREASING FLOOR R VALUE TO 11 = $ 793.86

29 GO Program 1. OSI Version. o IO 1 REM ENERGY WORKBOOK 18 BASED ON FEA/D-77/117, APRIL 1977 2 L""96 3 F0RI-1T025:PRINT!NEXT11JPRINTTAB(25)^"ENERGYWORKBOOK":PRINT!PRINT!PRINTtPRINT 4 PRINT"ITEMSNEEDED FOR ENERGY WORKBOOK"!PRINT!PRINT"1)STATE"!PRINT"2>CITY" 5 PRINT"3) HEATING FUEL COST (E.G. .37 CENTS/CU FT)" 6 PRINT"4) COOLING FUEL COST (E.G. 5.14 CENTS/KWH)" 7 PRINT"5) SQUARE FT OF SINGLE GLASS WINDOWS IN HOUSE" 8 PRINT"7) ANNUAL HEATING AND COOLING FUEL COST" 9 PRINT"8) CHECK FOR LEAKAGE AROUND WINDOWS AND DOORS WITH CANDLE" 10 PRINT"9) FLOOR AREA OF HOUSE - SQ FT" 11 PRINT"10) CEILING R VALUE - USE TABLE PROVIDED WITH INSTRUCTIONS" 12 PRINT"11) FIRST FLOOR AREA - SQ FT" 13 PRINT"12) FLOOR R VALUE IF BASEMENT IS UNHEATED OR HOUSE IS ON PILLARS" 14 PRINT!PRINT!PRINT!INPUT"STATE(DON'T ABBREVIATE>"J B«!FORI-1TOL!READC* 15 IFLEFT* THENB»«C*!READD* 20 NEXT!F0RI=>1T04!B*!J«1 25 X«ASC

4.4 4 I | :| | | | '| •f I | C | | | f | | | 4 '4 '4 | I If 4 •C t4(C44((

110 F0RI=1T08!READB*,FH(I),FC(I)!PRINTSPC(15)!IJB«!NEXT 115 PRINT!PRINT!INPUT"CHOOSE # FOR HEATING FUEL"JJ 120 INPUT"COST PER UNIT FOR HEATING FUEL"}!CS»CSxX 240 PRINT!PRINT!Y»♦05!F0RI-1T03!IFI-HTHEN247 245 Y»Y-.01!NEXT!IFH«»4THENY=.025 246 IFH-5THENY-.02 247 GOSUB800 250 PRINT"THE FOLLOWING SECTION EVALUATES THE SAVINGS OBTAINED BY TURNING" 255 PRINT"THE THERMOSTAT DOWN IN WINTER OR UP IN SUMMER FROM THE SETTING" 256 PRINT"YOU HAVE BEEN USING."!PRINT!PRINT!PRINT"HEATING"!PRINT 260 INPUT"DEGREES TURNED DOWN DURING DAY"JX!S»INT(100*Y*HS*X>/100 265 PRINT"SAVINGS =♦"JS!PRINT"ADDITIONALDEGREES TURNED DOWN DURING NIGHT"! 270 INPUTX:i=INT(100*Y*HS*Xx.3)/100!PRINT"SAVINGS«*":i 280 S-S+I!PRINT"ANNUAL TOTAL HEATING SAVINGS «*"!S!PRINT!PRINT"COOLING"!PRINT 285 INPUT"DEGREES THERMOSTAT TURNED UP DURING COOLING"JX IO 00 290 I«INT<100kCS*X**02)/100:PRINT"SAVINGS **"}I 300 PRINT:PRINT"TOTAL ANNUAL SAVINGS *$"JS+IJGOSUB800 •o 310 PRINT:PRINT:PRINT"ANNUAL SAVINGS FROM CAULKING AND WEATHERSTRIPPING" 315 PRINT"CHECK DRAFTS HOLDING CANDLE NEAR CRACK ON WINDY DAY" 320 PRINTMCHOOSE ONE OF FOLLOWING":PRINT" 1) WINDOWS WITH GOOD FIT" 340 PRINT" 2) SOME LEAKAGE":PRINT" 3) RATHER DRAFTY" 350 INPUTY:PRINT:PRINT"CHOOSE ONE OF FOLLOWING":PRINT" 1) DOORS FIT GOOD1 360 PRINT" 2) SOME LEAKAGE":PRINT" 3) DRAFTY":INPUTI 370 print:PRINT:PRINT"CHOOSE ONE OF FOLLOWING":PRINT PRINT" 1) CAULKING AND WEATHERSTRIPPING GOOD":PRINT" 2) NEEDREPAIR' 390380 PRINT" 3) NO CAULKING OR WEATHERSTRIPPING":INPUTS 100 INPUT'TLOOR AREA OF HOUSE - SQ FT"JX 410 X*X*/100:PRINT 420 print"annual savings for caulking and weatherstripping* *"jx:gosub800 440 print:print:print"annual savings from ceiling insulation":print:print 450 y*3s:input"ceiling r value"jx:ifh<3theny=26 455 ifh»3theny«30 460 ifh»4theny=33 465 input"first floor area of house (sq ft)"jf 470 r*y:gosub90o:i»r:r=x:gosub9oo:x»r:x=int

4 •| •4*4 4 4 4 # 4 4-4 # f I I 4-4-4 I I 4 44 I I It f < C 4 C ( 4 4 4 C 4 4 4 4 4 14 4 4 44111441444 4 f 4'

570 PRINT" 0.5 BUILDING WITH TIGHT CRAWL SPACE" 580 PRINT" 0.5 BUILDING WITH TIGHT BASEMENT (UNHEATED)" 590 PRINT" 0.8 STONE WALL BASEMENT (UNHEATED)" 600 PRINT" 0.8 2 FT OR MORE OF BASEMENT WALL EXPOSED (UNHEATED)" 610 PRINT" 0.8 CRAWL SPACE SKIRTED" 620 PRINT" 1.0 BUILDING ON PILLARS WITH NO SKIRTS" 625 PRINT!INPUT"FLOOR FACTOR FROM ABOVE TABLE"!J 627 Y=l1!IFH>1THENY«13!IFH>2THENY»19!IFH>3THENY-22 628 R»Y!GOSUB900!Q»R!INPUT"CURRENT R FACTOR FOR FLOOR"JR 630 GOSUB900!X« J*(R-Q>*F*FI!PRINT!PRINT!X-INT(X*100)/100!IFX<0THENX«0 640 PRINT"ANNUAL SAVINGS BY INCREASING FLOOR R VALUE TO "!Y!" -»"!X 645 GOSUB800 799 RESTORE!PRINT!PRINT!GOSUB80 0!PRINT!PRINT!L-96!G0T014

801 RETURN 828 R«Y!GOSUB900!I°*R 899 REM CONDUCTION FACTOR SUBROUTINE 900 IFR<11THEN920 901 IFR<12THENR».077!RETURN 902 IFR<15THENR«.066!RETURN 903 IFR<20THENR=.048!RETURN 904 IFR<24THENR=.042!RETURN 905 IFR<28THENR».036!RETURN 906 IFR<34THENR=.031!RETURN 910 R».025!RETURN 920 R«.5-.0385*R!RETURN

CO CO IO 2

Program 2. VIC Version. 1 REM ENERGY WORKBOOK IS BASED ON FEA/D-77/1 17, APRIL 1977 VIC VERSION 2 L=96 3 PRINT"{CLEAR}{09 DOWN} ENERGY WORKBOOK" :FORI=1TO1500:NEXT 4 PRINT"ITEMS NEEDED{DOWN}":PRINT"1) STATE & CITY" 5 PRINT"2) HEATING FUEL COST":REM E.G. .37 C ENTS/CU FT 6 PRINT"3) COOLING COST":REM E.G. 5.14 CENTS /KWH 7 PRINT"4) SQ FT OF SINGLE GLASS WINDO WS" 8 PRINT"5) ANNUAL HEATING AND COOLING FUE L COST" 9 PRINT"6) CHECK FOR LEAKAGE AROUND WIND OWS AND DOORS WITH CANDLE" 10 PRINT"7) FLOOR AREA - SQ FT" 11 PRINT"8) CEILING R VALUE":REM USE TABLE PR OVIDED 12 PRINT"9) FIRST FLOOR AREA" 13 PRINT"10) FLOOR R VALUE IF BASEMENT I S USED":PRINT" OR HOUSE IS ON" 14 PRINT" PILLARS":PRINT"{DOWN}STATE(DON'T ABBREVIATE":INPUTB$:FORI=lTOL:READC$ 15 IFLEFT5(B$,7)=LEFT$(C$,7)THENB$=C$:READD$ 20 NEXT:F0RI=1T04:B$(I)="":NEXT:1=1:Y=LEN(D$) :J=1 2 5 X=ASC(MID$(D$,I,1)):IFX=32THEN45 30 B$(J)=B$(J)+CHR$(X):GOT055 4 5 I=I+1:X(J)=VAL(MID$(D$,I,1)):1=1+2:Y(J)=VA L(MID$(D$,I,1)) 47 I=i+l:J=J+l 55 IFKYTHENI = I + l:GOT025 58 J=J-1:PRINT"{CLEAR} ";B$;"{03 DOWN}": FORI=lTOJ 60 PRINTI;B$(I):NEXT 65 PRINT:PRINT:PRINT"CHOOSE # FOR NEAREST CI TY":INPUTI:H=X(I):C=Y(I):REM ZONES 80 X=1:FORI=1TO5:IFC=ITHEN90 8 5 X=X-.25:NEXT 90 HC=X:X=0:FORI=0TO5:IFH=I THEN100:REM H F & CF ARE HEAT AND COOL FACTORS

34 9 5 X=X+.5:NEXT 100 HF=X:PRINT:PRINT 110 F0RI=1T08:READB$,FH(I),FC(I) :PRINTI;B$:NEX T 115 PRINT"{02 DOWN}CHOOSE # FOR HEATING FUEL" :INPUTJ 120 PRINT"{DOWN}COST PER UNIT FOR HEATING FUEL (CENTS)":INPUTS:S=S/100 125 HI=S*FH(J)*HF:REM HEAT INDEX 126 PRINT"{02 DOWNjCHOOSE # FOR COOLING FUEL" :INPUTJ 127 PRINT"{DOWN}COST PER UNIT FOR COOLING FUE L(CENTS":INPUTS:S=S/100 130 CI=S*FC(J)*HC:FI=HI+CI:REM COOL AND FUEL I NDEX 145 PRINT"{DOWN}INPUT # OF SQ FT OF SINGLE G LASS WINDOWS, DO NQT" 150 PRINT"COUNT STORM WINDOWS OR SLIDING GLASS DOORS":INPUTX 170 X=INT(X*100*FI*.65)/100 175 PRINT"{CLEARjANNUAL SAVINGS DUE TO STORM W INDOWS= ";X:X=.85:GOSUB800 180 PRINT:PRINT"IS HEATING FUEL USED FOR OTHE R PURPOSES, E.G. COOKING" 190 INPUTB$:IFASC(B$)=78THENX=1 200 PRINT"ANNUAL HEATING FUEL COST (DOLLARS) ":INPUTHS:HS=HS*X:PRINT:PRINT:X=.6 210 PRINT"IS COOLING FUEL USED FOR OTHER PURP OSES, E.G. LIGHTING" 220 INPUTB$:IFASC(B$)=78THENX=1 230 PRINT"ANNUAL COOLING FUEL COST (DOLLARS) ":INPUTCS:CS=CS*X 240 PRINT:PRINT:Y=.05:F0RI=1T03:IFI=HTHEN247 245 Y=Y-.01:NEXT:IFH=4THENY=.025 246 IFH=5THENY=.02 247 GOSUB800 250 PRINT"{CLEARjTHE FOLLOWING SECTION EVALUAT ES THE SAVINGS OBTAINED BY TURNING" 2 55 PRINT"THE THERMOSTAT DOWN INWINTER OR UP I N SUMMER FROM THE SETTING" 256 PRINT"YOU HAVE BEEN USING.":PRINT:PRINT"HE ATING":PRINT 260 PRINT"DEGREES TURNED DOWN DURING DAY":IN PUTX:S=INT(100*Y*HS*X)/100 265 PRINT"SAVINGS =$";S:PRINT"{DOWN}ADDITIONAL

35 DEGREES TURNED DOWN DURING NIGHT" 270 INPUTX:I=INT(100*Y*HS*X*.3)/100:PRINT"{DOW DOWN}SAVINGS=$";I 280 S=S+I:PRINT"{DOWN}ANNUAL TOTAL HEATING SA VINGS =$";S:PRINT:PRINT"COOLING{DOWN}

285 PRINT"DEGREES THERMOSTAT TURNED UP DURING COOLING":INPUTX 290 I=INT(100*CS*X*.02)/100:PRINT"SAVINGS =$";

300 PRINT:PRINT"TOTAL ANNUAL SAVINGS =$";S+I:G OSUB800 310 PRINT"{DOWN}ANNUAL SAVINGS FROM CAULKING A ND WEATHERSTRIPPING" 315 PRINT"CHECK DRAFTS HOLDING CANDLE NEAR CRA CK ON WINDY DAY" 320 PRINT" {DOWN}CHOOSE ONE OF FOLLOWING"-.PRINT " 1) WINDOWS WITH GOOD FIT" 340 PRINT"2) SOME LEAKAGE":PRINT"3) RATHER DRA FTY" 350 INPUTY:PRINT:PRINT"{DOWN}CHOOSE ONE OF FOL LOWING":PRINT"1) DOORS FIT GOOD" 360 PRINT"2) SOME LEAKAGE":PRINT"3) DRAFTY":IN PUTI 370 PRINT"{DOWN}CHOOSE ONE OF FOLLOWING":PRINT

380 PRINT"1) CAULKING AND WEATHERSTRI PPING GOOD" 390 PRINT"2) NEED REPAIR":PRINT"3) NO CAULKING OR WEATHERSTRIPPING":INPUTS 400 PRINT"FLOOR AREA OF HOUSE -":INPUT"SQ FT"; X 410 X=X*(Y+I+S-3)/100*FI:X=INT(X*100)/100:PRIN T 420 PRINT"{CLEAR}ANNUAL SAVINGS FOR CAULKING A NDWEATHERSTRIPPING= $";X:GOSUB800 440 PRINT:PRINT:PRINT"ANNUAL SAVINGS FROM CEIL ING INSULATION":PRINT:PRINT 450 Y=38:INPUT"CEILING R VALUE";X:IFH<3THENY=2 6 455 IFH=3THENY=30 460 IFH=4THENY=33 465 PRINT"FIRST FLOOR AREA OF HOUSE (SQ FT)":I NPUTF 470 R=Y:GOSUB900:I=R:R=X:GOSUB900:X=R:X=INT(10

36 0*(X-I)*F*FI)/100 475 IFX<0THENX=0 480 PRINT"ANNUAL SAVINGS BY BRINGING CEILING R UPTO";Y;" = $";X:GOSUB800 550 INPUT"IS HOUSE ON PILLARS OR HAVE AN UNHEA TED BASEMENT";B$ 555 IFASC(B$)=78THEN799 560 PRINT"CHOOSE FOUNDATION FACTOR FROM LIST B ELOW{DOWN}" 565 PRINT"{DOWN}FACTOR FOUNDATION CHARACTERIST ICS" 570 PRINT" 0.5 BUILDING WITH TIGHT CRAWL SPACE it 580 PRINT"0.5 BUILDING WITH TIGHT BASEMENT (UN HEATED)" 590 PRINT"0.8 STONE WALL BASEMENT (UNHEATED)" 600 PRINT"0.8 2 FT OR MORE OF BASEMENT WALL EX POSED (UNHEATED)" 610 PRINT"0.8 CRAWL SPACE SKIRTED" 620 PRINT"1.0 BUILDING ON PILLARS WITH NO SKIR TS" 625 PRINT"{DOWN}FLOOR FACTOR FROM ABOVE TABLE" :INPUTJ 6 27 Y=ll:IFH>1THENY=13:IFH>2THENY=19:IFH>3THEN Y = 22 628 R=Y:GOSUB900:Q=R:PRINT"CURRENT R FACTOR FO R FLOOR":INPUTR 630 GOSUB900:X=J*(R-Q)*F*FI:PRINT:PRINT:X=INT( X*100)/100:IFX<0THENX=0 640 PRINT"ANNUAL SAVINGS BY INCREASING FLOOR R VALUE TO ":Y:" =$";X 645 GOSUB800 799 RESTORE:PRINT:PRINT:GOSUB800:PRINT:PRINT:L =96:GOT014 8 00 PRINT" ": RETURN 828 R=Y:GOSUB900:I=R 899 REM CONDUCTION FACTOR SUBROUTINE 900 IFR<11THEN920 901 IFR<12THENR=.077:RETURN 902 IFR<15THENR=.066:RETURN 903 IFR<20THENR=.048:RETURN 904 IFR<24THENR=.042:RETURN 905 IFR<28THENR=.036:RETURN 906 IFR<34THENR=.031:RETURN 910 R=.025:RETURN 920 R=.5-.0385*R:RETURN

37 Program 3. Microsoft Version. 1 REM ENERGY WORKBOOK IS BASED ON FEA/D-77/1 17, APRIL 1977/ 2 L=96 3 PRINT"{CLEAR}{09 DOWN} ENERGY WO RKBOOK{03 DOWN}":FORI=lTO1000:NEXT 4 PRINT"{CLEAR}{03 DOWN} ITEMS NE EDED{DOWN}":PRINT"l) STATE & CITY" 5 PRINT"2) HEATING FUEL COST":REM E.G. .37 C ENTS/CU FT 6 PRINT"3) COOLING COST":REM E.G. 5.14 CENTS /KWH 7 PRINT"4) SQ FT OF SINGLE GLASS WINDOWS" 8 PRINT"5) ANNUAL HEATING AND COOLING FUEL C OST" 9 PRINT"6) CHECK FOR LEAKAGE AROUND WINDOWS AND DOORS WITH CANDLE" 10 PRINT"7) FLOOR AREA - SQ FT" 11 PRINT"8) CEILING R VALUE":REM USE TABLE PR OVIDED 12 PRINT"9) FIRST FLOOR AREA" 13 PRINT"10) FLOOR R VALUE IF BASEMENT IS USE D" 14 PRINT" OR HOUSE IS ON PILLARS{02 DOWN}" 15 INPUT"STATE(DON'T ABBREVIATE)";B$:PRINT"{ CLEAR}":FORI=lTOL:READC$ 16 IFLEFT$(B$r7)=LEFT$(C$,7)THENB$=C$:READD$ 20 NEXT:FORI=lT04:B$(I)="":NEXT:I=l:Y=LEN(D$) :J=1 25 X=ASC(MID$(D$,1,1)):IFX=32THEN45 30 B$(J)=B$(J)+CHR$(X):GOT055 45 I=I+1:X(J)=VAL(MID$(D$,I,1)):1=1+2:Y(J)=VA L(MID$(D$,I,1)) 47 I=I+1:J=J+1 55 IFKYTHENI = I+ l:GOT025 58 J=J-1:PRINT"{CLEAR} ";B$;"{0 3 DOWN}":FORI=1T0J 60 PRINTTAB(12);I;B$(I):NEXT 65 PRINT:PRINT:INPUT"CHOOSE # FOR NEAREST CIT Y";I:H=X(I):C=Y(I):REM ZONES 80 X=l:FORI=lTO5:IFC=ITHEN90 85 X=X—.25:NEXT 90 HC=X:X=0:FORI=0TO5:IFH=I THEN100:REM H

38 F& CF ARE HEAT AND COOL FACTORS 95 X=X+.5:NEXT 100 HF=X:PRINT:PRINT 110 F0RI=1T08:READB$,FH(I),FC(I):PRINTTAB(12); I;B$:NEXT 115 INPUT"{02 DOWN}CHOOSE # FOR HEATING FUEL"; J 120 PRINT"{DOWN}COST PER UNIT FOR HEATING FUEL (CENTS)":INPUTS:S=S/100 125 HI=S*FH(J)*HF:REM HEAT INDEX 126 INPUT"{02 DOWNJCHOOSE # FOR COOLING FUEL"; J 127 PRINT"{DOWN}COST PER UNIT FOR COOLING FUEL 'CENTS)":INPUTS:S=S/100 130 CI=S*FC(J)*HC:FI=HI+CI:REM COOL AND FUEL I NDEX 145 PRINT"{CLEAR}INPUT # OF SQ FT OF SINGLE GL ASS WINDOWS" 150 PRINT"DO NOT COUNT STORM WINDOWS OR SLIDIN G ":INPUT"GLASS DOORS";X 170 X=INT(X*100*FI*.65)/100 175 PRINT"{CLEAR}ANNUAL SAVINGS DUE TO STORM W INDOWS= $":PRINTTAB(12);X:X=.85:GOSUB 800 180 PRINT:PRINT"IS HEATING FUEL USED FOR OTHER PURPOSES" 190 INPUT"E.G.COOKING-Y,N";B$:IFASC(B$)=78THEN X=l 200 PRINT"ANNUAL HEATING FUEL COST (DOLLARS)": INPUTHS:HS=HS*X:PRINT:PRINT:X=.6 210 PRINT"IS COOLING FUEL USED FOR OTHER PURPO SES" 220 INPUT"E.G. LIGHTING-Y,N";B$:IFASC(B$)=78TH ENX=1 230 PRINT"ANNUAL COOLING FUEL COST (DOLLARS)": INPUTCS:CS=CS*X 240 PRINT:PRINT:Y=.05:FORI=lTO3:IFI=HTHEN247 245 Y=Y-.01:NEXT:IFH=4THENY=.025 246 IFH=5THENY=.02 247 GOSUB800 250 PRINT"{CLEAR}THE FOLLOWING SECTION EVALUAT ES THE SAVINGS OBTAINED BY TURNIN G" 255 PRINT"THE THERMOSTAT DOWN IN WINTER OR UP ~ IN SUMMER FROM THE SETTING YOU"

39 256 PRINT"HAVE BEEN USING.":PRINT:PRINT"HEATIN G":PRINT 260 PRINT"DEGREES TURNED DOWN DURING":INPUT"DA Y";X:S=INT(100*Y*HS*X)/100 265 PRINT"SAVINGS =$";S:PRINT"{DOWN}ADDITIONAL DEGREES TURNED DOWN DURING" 270 INPUT"NIGHT";X:I=INT(100*Y*HS*X*.3)/100:PR INT"{DOWN}SAVINGS=$";I 280 S=S+I:PRINT"{DOWN}ANNUAL TOTAL HEATING SAV INGS =$";S:PRINT:PRINT"COOLING{DOWN}"

285 PRINT"DEGREES THERMOSTAT TURNED UP DURING ~ COOLING":INPUTX 290 I=INT(100*CS*X*.02)/100:PRINT"SAVINGS =$"; I 300 PRINT:PRINT"TOTAL ANNUAL SAVINGS =$";S+I:G OSUB800 310 PRINT"{DOWN}ANNUAL SAVINGS FROM CAULKING A ND WEATHERSTRIPPING" 315 PRINT"CHECK DRAFTS HOLDING CANDLE NEAR CRA CK ON WINDY DAY" 320 PRINT"{DOWN}CHOOSE ONE OF FOLLOWING":PRINT "1) WINDOWS WITH GOOD FIT" 340 PRINT"2) SOME LEAKAGE":PRINT"3) RATHER DRA pipy II 350 INPUTY:PRINT:PRINT"{DOWN}CHOOSE ONE OF FOL LOWING":PRINT"1) DOORS FIT GOOD" 360 PRINT"2) SOME LEAKAGE":PRINT"3) DRAFTY":IN PUTI 370 PRINT"{DOWN}CHOOSE ONE OF FOLLOWING":PRINT

380 PRINT"1) CAULKING AND WEATHERSTRIPPING GOO D" 390 PRINT"2) NEED REPAIR":PRINT"3) NO CAULKING OR WEATHERSTRIPPING":INPUTS 400 PRINT"FLOOR AREA OF HOUSE -":INPUT"SQ FT"; X 410 X=X*(Y+I+S-3)/100*FI:X=INT(X*100)/100:PRIN T 420 PRINT"{CLEAR}ANNUAL SAVINGS FOR CAULKING A ND WEATHERSTRIPPING= $";X:GOSUB 800 440 PRINT:PRINT:PRINT"ANNUAL SAVINGS FROM CEIL ING INSULATION":PRINT:PRINT 450 Y=38:INPUT"CEILING R VALUE";X:IFH<3THENY=26

40 455 IFH=3THENY=30 460 IFH=4THENY=33 465 PRINT"FIRST FLOOR AREA OF HOUSE (SQ FT)":I NPUTF 470 R=Y:GOSUB900:I=R:R=X:GOSUB900:X=R:X=INT(10 0*(X-I)*F*FI)/100 475 IFX

580 PRINT"0.5 BUILDING WITH TIGHT BASEMENT (UNHEATED)" 590 PRINT"0.8 STONE WALL BASEMENT (UNHEATED)" 600 PRINT"0.8 2 FT OR MORE OF BASEMENT WALL EXPOSED (UNHEATED)" 610 PRINT"0.8 CRAWL SPACE SKIRTED" 620 PRINT"1.0 BUILDING ON PILLARS WITH NO SKIR TS" 625 PRINT"{DOWN}FLOOR FACTOR FROM ABOVE TABLE" :INPUTJ 627 Y=ll:IFH>1THENY=13:IFH>2THENY=19:IFH>3THEN Y=22 628 R=Y:GOSUB900:Q=R:PRINT"CURRENT R FACTOR FO R FLOOR":INPUTR 630 GOSUB900:X=J*(R-Q)*F*FI:PRINT:PRINT:X=INT( X*100)/100:IFX<0THENX=0 640 PRINT"ANNUAL SAVINGS BY INCREASING FLOOR R VALUE TO ";Y;" =$";X 645 GOSUB800 799 END 800 PRINT" ":RETURN 828 R=Y:GOSUB900:I=R 899 REM CONDUCTION FACTOR SUBROUTINE 9D0 IFR<11THEN920 901 IFR<12THENR=.077:RETURN 902 IFR<15THENR=.066:RETURN

41 903 IFR<20THENR=.048:RETURN 904 IFR<24THENR=.042:RETURN 905 IFR<28THENR=.036:RETURN 906 IFR<34THENR=.031:RETURN 910 R=.025:RETURN 920 R=.5-.0385*R:RETURN

Program 4. Atari Version.

1 REM ENERGY WORKBOOK IS BASED ON FEA /D-77/117, APRIL 1977 ATARI VERSIO N 2 L = 96 3 PRINT " tr.i raR^lrf.'ia?I«™gM;»Msltlire" aDIM A*<40>,B*<40>,C*<40>,D*<40>,BB*<20* 5),BL(4),X(10),Y(10),FH(8),FC<8) 4 PRINT "OWN> ITEMS NEEDED: "sP RINT "1) STATE & CITY" 5 PRINT "2) HEATING FUEL COST":REM E. G. .37 CENTS/CU FT 6 PRINT "3) COOLING COST":REM E.G. 5. 14 CENTS/KWH 7 PRINT "4) SQ FT OF SINGLE GLASS WIN DOWS" 8 PRINT "5) ANNUAL HEATING AND":? " €3 SPACESJCOOLIN6 FUEL COST" 9 PRINT "6> CHECK FOR LEAKAGE AROUND WINDOWS":? "<:3 SPACES>AND DOORS WIT H CANDLE" 10 PRINT "7> FLOOR AREA - SQ FT" 11 PRINT "8) CEILING R VALUE":REM USE TABLE PROVIDED 12 PRINT "9> FIRST FLOOR AREA"

13 PRINT "10) FLOOR R VALUE IF BASEME NT IS USED": PRINT "€4 SPACES3-OR HO USE IS ON":? " <.4 SPACES J PI LLARS " 14 ? :? "STATE(DON'T ABBREVIATE)":INP UT B*:FOR 1=1 TO L:READ C* 15 TRAP 20:IF B*=C*(1,LEN(B*)) THEN B

42 *=C*:TRAP 40000:READ D* 20 NEXT IsFOR 1=1 TO 4:BL=0:NEXT I :I=i:Y=LEN(D$):J=l 25 X=ASC>:IF X=32 THEN 45 30 BB* s BL(J > =BL (J)+l:SOTO 55 45 1=1+1:X(J)=VAL(D*):1=1+2:Y=V AL(D*) 47 I=I+1:J=J+1 55 IF KY THEN I = I + l:BOTO 25 58 J=J-1: PRINT "(CLEARX6 SPACES*" ; B* ;"{3 DOWN>"sFOR 1=1 TO J 60 PRINT I;". ";BB*(I*20+l,I*20+BL(I> ):NEXT I 65 PRINT SPRINT sPRINT "CHOOSE # FOR NEAREST CITY":INPUT IsH=X=T2sPRINT I;". ";B*sNEXT I 115 PRINT "<2 DOWNJCHOOSE # FOR HEATI NG FUEL":INPUT J 120 PRINT "(CLEARJCOST PER UNIT FOR H EATING FUEL (CENTS)":INPUT SsS=S/ lOO 125 HI=S*FH(J)*HFsREM HEAT INDEX 126 PRINT "<2 DOWNJCHOOSE # FOR COOLI NG FUEL":INPUT J 127 PRINT "£DOWN>COST PER UNIT FOR CO OLING FUEL":INPUT S:S=S/10 O 130 CI=S*FC(J)*HC:FI=HI+CI: REM COOL A ND FUEL INDEX 145 PRINT "{DOWN*INPUT # OF SQ FT OF

43 SINGLE GLASS":? "WINDOWS, DO NOT" ISO PRINT "COUNT STORM WINDOWS OR SLI DING GLASS DOORS";sINPUT X 170 X=INT(X*100*FI*0.65)/lOO 175 PRINT " {CLEAR3ANNUAL SAVINGS DUE TO":? "STORM WINDOWS= ";X:X=0.85: GOSUB 800 180 PRINT sPRINT "IS HEATING FUEL USE D FOR OTHER"s? "PURPOSES, E.G. CO OKING" 190 INPUT B*:IF ASC(B*)=78 THEN X=l 200 PRINT "ANNUAL HEATING FUEL COST < DOLLARS)":INPUT HS:HS=HS*X:PRINT :PRINT :X=0.6 210 PRINT "IS COOLING FUEL USED FOR O THER":? "PURPOSES, E.G. LIGHTING" 220 INPUT B*sIF ASCTHE FOLLOWING SECTI ON EVALUATES THE<3 SPACES3SAVINGS OBTAINED BY TURNING" 255 PRINT "THE THERMOSTAT DOWN IN WIN TER OR UP<3 SPACES>IN SUMMER FROM THE SETTING" 256 PRINT "YOU HAVE BEEN USING.":PRIN T :PRINT "HEATING" 260 PRINT "DEGREES TURNED DOWN DURING DAY":INPUT X:S=INT<100*Y*HS*X)/l 00 265 PRINT "SAVINGS =*";SsPRINT " {DOWN3ADDITIONAL DEGREES TURNED D OWN DURING NIGHT"; 270 INPUT X:I=INT<100*Y*HS*X*0.3)/100 :PRINT "CD0WN3SAVINGS=*"sI

44 2SO S=S+IsPRINT "{DOWN*ANNUAL TOTAL H EATING SAVINGS =*";SsPRINT sPRIN T "COOLINGCDOWN3" 285 PRINT "DEGREES THERMOSTAT TURNED UP DURING COOLING";sINPUT X 290 I=INT<100*CS*X*0.02)/lOOsPRINT "S AVINGS =*";I 300 PRINT sPRINT "TOTAL ANNUAL SAVING S =*";S+IsGOSUB 800 310 PRINT s? "ANNUAL SAVINGS FROM CAU LKING AND":? "WEATHER STRIPPING" 315 PRINT "CHECK DRAFTS HOLDING CANDL E NEAR":? "CRACK ON WINDY DAY" 320 PRINT :? "CHOOSE ONE OF FOLLOWING ":PRINT "1) WINDOWS WITH GOOD FIT

•I 340 PRINT "2) SOME LEAKAGE":PRINT "3) RATHER DRAFTY" 350 INPUT YsPRINT :PRINT "

45 sIF H<3 THEN Y=26 455 IF H=3 THEN Y=30 460 IF H=4 THEN Y=33 465 PRINT "FIRST FLOOR AREA OF HOUSE 1 THEN Y=13:IF H>2 THEN Y=19:IF H>3 THEN Y=22 628 R=Y:GOSUB 900:Q=R:PRINT "CURRENT R FACTOR FOR FLOOR":INPUT R 630 GOSUB 900:X=J*(R-0)*F*FI:PRINT :P RINT :X=INT(XtlOO)/lOO:IF X<0 THE N X=0 640 PRINT "ANNUAL SAVINGS BY INCREASI NG FLOOR R VALUE TO ";Y;" =*";X 645 GOSUB 800

46 799 RESTORE :PRINT :PRINT :GOSUB 800: PRINT :PRINT :L=96:GOTO 14 800 PRINT " ":RETURN 828 R=Y:GOSUB 900:I=R 899 REM CONDUCTION FACTOR SUBROUTINE 900 IF R<11 THEN 920 901 IF R<12 THEN R=0.077:RETURN 902 IF R<15 THEN R=0.066:RETURN 903 IF R<20 THEN R=0.048s RETURN 904 IF R<24 THEN R=0, 042s RETURN 905 IF R<28 THEN R=0, 036s RETURN 906 IF R<34 THEN R=0, 031s RETURN 910 R=0.025s RETURN 920 R = 0.5-0.0385*Rs RETURN

Program 5. Color Computer Version.

REM ENERGY WORKBOOK IS BASED ON FEA/D-77/1 17, APRIL 1977 L=96 CLS:PRINTTAB(9)"ENERGY WORKBOOK" PRINT"ITEMS NEEDED FOR ENERGY WORKBOOK" PR INT"1) STATE":PRINT"2) CITY" PRINT"3) HEATING FUEL COST":PRINT" (E .G. .37 CENTS/CU FT) " PRINT"4) COOLING FUEL COST":PRINT" (E ,G. 5.14 CENTS/KWH)" PRINT"5) SQUARE FT OF SINGLE GLASS N HOUSE":INPUT"CONTINUE";ZZ$:CLS PRINT"6) ANNUAL HEATING AND COOLING UEL COST" PRINT "7) CHECK FOR LEAKAGE AROUND WINDOWS AND DOORS WITH CANDL E" 10 PRINT"8) FLOOR AREA OF HOUSE - SQ FT" 11 PRINT"9) CEILING R VALUE - USE TABLE ROVIDED WITH INSTRUCTIONS" 12 PRINT"10) FIRST FLOOR AREA - SQ FT" 13 PRINT"11)FLOOR R VALUE IF BASEMENT IS NHEATED OR HOUSE IS ON PILLAR S"

47 14 PRINT:INPUT"STATE(DON'T ABBREVIATE)";B$:FO RI=1T0L:READC$ 15 IFLEFT$(B$,7)=LEFT$(C$,7)THENB$=C$:READD$ 20 NEXT:F0RI=1T04:B$(I)="":NEXT:1=1:Y=LEN(D$) :J=1 22 CLS 25 X=ASC(MID$(D$,I,1)):IFX=32THEN45 30 B$(J)=B$(J)+CHR$(X):GOT055 4 5 I=I+l:X(J)=VAL(MID$(D$fIfl)):1=1+2:Y(J)=VA L(MID$(D$,I,1)) 47 1=1+1:J=J+1 55 IFKY THENI = I+l:GOT025 58 J=J-l:PRINT:FORI=lTOJ:PRINTI;TAB(5);B$(I); TAB(20);B$:NEXT 65 PRINT:INPUT"CHOOSE # FOR NEAREST CITY";I:H =X(I):C=Y(I):REM ZONES 70 CLS 80 X=1:F0RI=1T05:IFC=I THEN90 85 X=X-.25:NEXT 90 HC=X:X=0:FORI=0TO5:IFH=I THEN100:HF & CF A RE HEAT AND COOL FACTORS 9 5 X=X+.5:NEXT 100 HF=X:PRINT 110 F0RI=1T08:READB$,FH(I),FC(I):PRINTTAB(5);I ;B$:NEXT 115 PRINT:INPUT"CHOOSE # FOR HEATING FUEL";J 120 INPUT"COST PER UNIT FOR HEATING FUEL (C ENTS)";S:S=S/100 125 HI=S*FH(J)*HF:REM HEAT INDEX 126 PRINT:INPUT"CHOOSE # FOR COOLING INDEX";J 127 INPUT"COST PER UNIT FOR COOLING FUEL(CENTS )";S:-S=S/100 130 CI=S*FC(J)*HC:FI=HI+CI:REM COOL AND FUEL I NDEX 135 PRINT 145 PRINT"INPUT # OF SQUARE FT OF SINGLE GLAS S WINDOWS" 150 PRINT"DO NOT COUNT STORM WINDOWS OR SLI DING GLASS DOORS";:INPUTX 170 X=INT(X*100*FI*.65)/100 175 PRINT"ANNUAL SAVINGS DUE TO STORM WIND OWS = $";X:X=.85:GOSUB800 180 PRINT:PRINT"IS HEATING FUEL USED FOR OTHER PURPOSES, EoG* COOKING"; 190 INPUTB$:IFASC(B$)=78THENX=1

48 200 INPUT"ANNUAL HEATING FUEL COST (DOL LARS) ";HS:HS=HS*X:PRINT:X=.6 210 PRINT"IS COOLING FUEL USED FOR OTHER PURPO SES, E.G. LIGHTING"; 220 INPUTB$:IFASC(B$)=78THENX=1 230 INPUT"ANNUAL COOLING FUEL COST (DOL LARS)";CS:CS=CS*X 240 PRINT:Y=.05:FORI=1TO3:IFI=H THEN247 245 Y=Y-.01:NEXT:IFH=4THENY=.025 246 IFH=5THENY=.02 247 CLS 2 50 PRINT"THE FOLLOWING SECTION EVALUATES THE ~ SAVINGS OBTAINED BY" 2 51 PRINT"TURNING THE THERMOSTAT DOWN IN THE ~ WINTER OR UP IN SUMMER" 2 52 PRINT"FROM THE SETTING YOU HAVE BEEN USING .":PRINT:PRINT:PRINT"HEATING":PRINT 260 INPUT"DEGREES TURNED DOWN DURING THE DAY" ;X:S=INT(100*Y*HS*X)/100 265 PRINT"SAVINGS =$";S:PRINT"ADDITIONAL DEGRE ES TURNED DOWN DURING THE NIGHT"; 270 INPUTX:I=INT(100*Y*HS*X*.3)/100:PRINT"SAVI NGS=$";I 280 S=S+I:PRINT"ANNUAL TOTAL HEATING SAVINGS = $";S:PRINT:PRINT"COOLING":PRINT 285 INPUT"DEGREES THERMOSTAT TURNED UP DURI NG COOLING";X 290 I=INT(100*CS*X*.02)/100:PRINT"SAVINGS =$"; I 300 PRINT:PRINT"TOTAL ANNUAL SAVINGS =$";S+I:G OSUB800 310 PRINT:PRINT"ANNUAL SAVINGS FROM CAULKING A NDWEATHERSTRIPPING" 315 PRINT"CHECK DRAFTS HOLDING CANDLE NEARCRAC K ON WINDY DAY" 3 20 PRINT"CHOOSE ONE OF FOLLOWING":PRINT" 1) WINDOWS WITH GOOD FIT" 3 40 PRINT" 2) SOME LEAKAGE":PRINT" 3) RATH ER DRAFTY" 350 INPUTY:CLS:PRINT:PRINT"CHOOSE ONE OF THE F OLLOWING" 355 PRINT" 1) DOORS FIT GOOD" 360 PRINT" 2) SOME LEAKAGE":PRINT" 3) DRAF TY":INPUTI 365 CLS

49 370 PRINT:PRINT:PRINT"CHOOSE ONE OF THE FOLLOW ING" 380 PRINT" 1) CAULKING AND WEATHER- STRIPPING GOOD" 381 PRINT" 2) NEED REPAIR": PRINT" 3) NO CA ULKING OR WEATHER- STRIPPING" 382 INPUTS 395 CLS 4 00 INPUT"FLOOR AREA OF HOUSE-SQ FT";X 410 X=X*(Y+I+S-3)/100*FI:X=INT(X*100)/100:PRIN T 4 20 PRINT"ANNUAL SAVINGS FOR CAULKING AND WEAT HERSTRIPPING= $";X:GOSUB800 440 PRINT:PRINT:PRINT"ANNUAL SAVINGS FROM CEIL ING INSULATION":PRINT:PRINT 450 Y=38:INPUT"CEILING R VALUE";X:IFH<3THENY=2 6 455 IFH=3THENY=30 460 IFH=4THENY=33 465 INPUT"FIRST FLOOR AREA OF HOUSE (SQ FT) ";F 470 R=Y:GOSUB900:I=R:R=X:GOSUB900:X=R:X=INT(10 0*(X-I)*F*FI)/100 475 IFX<0THENX=0 4 80 PRINT"ANNUAL SAVINGS BY BRINGING CEILING R UP TO";Y;" = $";X:GOSUB800 5 50 INPUT"IS THE HOUSE ON PILLARS OR HAVE AN U NHEATED BASEMENT";B$ 555 IFASC(B$)=78THEN799 560 PRINT"CHOOSE FOUNDATION FACTOR FROM LIST BELOW" 565 PRINT"FACTOR FOUNDATION CHARACTERISTICS" 570 PRINT"0.5 BUILDING WITH TIGHT CRAWL SPACE" 580 PRINT"0.5 BUILDING WITH TIGHT BASEMENT (UNHEATED)" 590 PRINT"0.8 STONE WALL BASEMENT (UNHEATED)" 600 PRINT"0.8 2 FT OR MORE OF BASEMENT WALL EXPOSED (UNHEATED) " 610 PRINT"0.8 CRAWL SPACE SKIRTED" 620 PRINT"1.0 BUILDING ON PILLARS WITH NO SKIRTS" 6 25 INPUT"FLOOR FACTOR FROM ABOVE TABLE";J 6 27 Y=ll:IFH>1THENY=13:IFH>2THENY=19:IFH>3THEN Y = 22

50 628 R=Y:GOSUB900:Q=R:INPUT"CURRENT R FACTOR FO R FLOOR";R 630 GOSUB900:X=J*(R-Q)*F*FI:PRINT:PRINT:X=INT( X*100)/100:IFX

Program 6. TI-99 Version. 1 REM energy workbook,TI version, is based on fea/d-77/117,apri1 1977 2 L = 96 4 CALL CLEAR 5 PRINT TAB(8);"energy workbook" 6 PRINT TAB(9);"items needed": : 7 PRINT "1) state" 8 PRINT "2> city" 9 PRINT "3> heating fuel cost £11 SPACES}(e.g. .37 cents/cu ft)" 10 PRINT "4) cooling fuel cost {11 SPACESXe.g. 5.14 cents/kwh>" 11 PRINT "5> square ft of single {9 SPACES>glass windows in house" 12 PRINT "6) annual heating and {10 SPACES>cooling fuel cost" 13 PRINT "7) check for leakage around

51 £4 SPACES>windows and doors" w 14 PRINT "8) floor area of house-sqft w

•i 15 PRINT "9) ceiling r value-use w £9 SPACES>table provided" w 16 PRINT "10)first floor area-sq ft" 17 PRINT "IDfloor r value if basemen w t£3 SPACES>is unheated or house is w {5 SPACES3on pillars" 18 INPUT "state (don't abbreviate)? " w s BB$ 'w? 19 FOR 1=1 TO L 20 READ C* ^ 21 IF SEG*<>SEG*THEN ^ 24 22 BB*=C* W 23 READ D* -m* 24 NEXT I 25 FOR 1=1 TO 4 w 26 B*(I)="" Mm/ 27 NEXT I *?fJ T = 1 ^**' 29 Y=LEN w 30 J=l 31 X=ASC(SEG*(D«,I,1)) w 32 IF X=32 THEN 45 ^ 33 B*(J)=B*(J)&CHR*(X) 35 GOTO 55 w 45 1 = 1 + 1 v^ 46 XX(J)=VAL=VAL> w 49 1=1+1 50 J=J+1 W 55 IF I>=Y THEN 58 ^ 56 1=1+1 57 GOTO 31 ^ 58 J=u~~l ^n^ 59 PRINT :: : 60 FOR 1=1 TO J ^ 61 PRINT I;TAB<5);B*;BB* w

52 62 NEXT I 63 PRINT : s s 64 INPUT "choose # for nearest city " :I 65 H=XX(I> 66 C=YY(I) 80 X = l 82 FOR 1=1 TO 5 84 IF C=I THEN 90 85 X=X-.25 87 NEXT I 90 HC=X 91 X=0 92 FOR 1=0 TO 5 93 IF H=I THEN lOO 95 X=X+.5 96 NEXT I lOO HF=X 102 PRINT ::: 110 FOR 1=1 TO 8 112 READ BB$,FH(I),FC(I) 114 PRINT TAB(5);I;BBS 115 NEXT I 116 PRINT s :: 117 INPUT "choose # tor heating fuel " s J 120 INPUT "cost per unit for heating {3 SPACES>fuel (cents)? ":S 121 S=S/100 125 HI=S*FH(J)*HF 126 PRINT : s : 127 INPUT "choose # for cooling fuel "s J 128 INPUT "cost per unit for cooling fuel (cents)? ":S 129 S=S/100 130 CI=S*FC(J)*HC 131 FI=HI+CI 133 PRINT : s : : 140 PRINT "input # of sq ft of single glass windows, do not count sto rm windows or sliding<4 SPACES>

53 glass doors"; w 150 INPUT X 170 X=INT(X*100*FI*.65)/lOO ^ 175 PRINT "annual savings due to stor ^ m windows = *";X 177 X=.85 ^ 178 GOSUB 800 w 180 PRINT :: 181 INPUT "is heating fuel used for "*»' €4 SPACES3other purposes (e.g.coo ^ king ?":BB$ 190 IF (ASC(BB*)<>78)*(ASC(BB*)<>1lO) w THEN 200 w 191 X=l 200 INPUT "annual heating fuel cost w <4 SPACES> (dollars)? ":HS w 202 HS=HStX 204 PRINT s : : w 206 X=.6 w 210 INPUT "is cooling fuel used for €4 SPACES>other purposes, e.g. w C8 SPACES}lighting?":BB* ^ 220 IF (ASC(BB*)<>78)»(ASC(BB*)<>11O) THEN 230 225 X=l w 230 INPUT "annual cooling fuel cost <4 SPACES!(dollars)? "jCS w 235 CS=CS*X w 237 PRINT s : s w 240 Y=.05 241 FOR 1=1 TO 3 w 242 IF I=H THEN 247 w 243 Y=Y-.01 Viifc/ 244 NEXT I 245 IF H<>4 THEN 247 w

246 Y=.025 w 247 IF H<>5 THEN 249 248 Y=.02 W 249 GOSUB 800 w 250 PRINT "the following section

Sip/ 54 {7 SPACES>evaluates the savings <7 SPACES>obtained by turning the"

252 PRINT "thermostat down in winter <3 SPACES>or up in summer from th e{4 SPACES>setting you have been using": :::: 256 PRINT "heating": : 260 INPUT "degrees turned down during day? ":X 262 S=INT<100*Y»HS*X>/100 265 PRINT "savings =* ";S 267 INPUT "additional degrees turned <3 SPACES>down during night? ":X 270 I=INT<100*Y*HS*X*.3>/I00 272 PRINT "savings =*";I 279 S=S+I 280 PRINT "annual total heating savin gs=* ";S: :: 282 PRINT "cooling": : 285 INPUT "degrees thermostat turned upduring cooling? ":X 290 I=INT(100*CS*X*.02)/lOO 295 PRINT "savings = * ";I::: 300 PRINT "total annual savings = €6 SPACES>*";S+I

305 GOSUB 800 310 PRINT ::: 312 PRINT "annual savings from caulki ng and weatherstripping": : 315 PRINT "check drafts holding candl e near crack on windy day": :: 320 PRINT "choose one of following" 325 PRINT "<:3 SPACES>1) windows with good fit" 330 PRINT {3 SPACES32) some leakage" 340 PRINT 3> rather drafty

II

350 INPUT 353 PRINT 355 PRINT choose one of following" 357 PRINT {3 SPACES>1> doors fit goo

55 d<:il SPACES>2) some leakage C13 SPACES>3) drafty" ^ 360 INPUT I 368 PRINT :: 369 PRINT "choose one of following" ^ 370 PRINT "C3 SPACES>1) caulking and weather-(7 SPACES*stripping good C11 SPACES>2) need repairs{13 w SPACES33) none exists" _ _ _ __ V(ft/ 390 INPUT S 400 INPUT "floor area of house - €7 SPACES>sq ft? ":X 405 X=X*(Y+I+S-3)/100*FI 410 X=INT(X*100)/lOO 415 PRINT 420 PRINT "annual savings for caulkin g and weatherstripping =*";X

430 GOSUB 800 W 440 PRINT : s : 442 PRINT "annual savings from ceilin g insulation": :: 450 Y=38 452 INPUT "ceiling r value? ":X 453 IF H>=3 THEN 455 454 Y=26 455 IF H<>3 THEN 457 \&/ 456 Y=30 457 IF H<>4 THEN 459 458 Y=33 %&/ 459 INPUT "first floor area of house C3 SPACES>(sq ft)? ":F 465 R = Y 467 GOSUB 900 468 I=R 469 R=X

470 GOSUB 900 %£>/ 472 X = R 474 X=INT(100*(X-I)*F*FI)/100 475 IF X>=0 THEN 477 476 x=o 477 PRINT "annual savings by bringing Vim*' ceiling r up to ";Y;" = *";X 480 GOSUB 800 550 INPUT "is the house on pillars or have an unheated basement? "zBB * 555 IF (ASC(BB*)< >89)*(ASC(BB*)<>121) THEN 700 560 PRINT "choose foundation factor <4 SPACES>from list below": :: 565 PRINT " factor*4 SPACES>foundati on" 566 PRINT "{12 SPACES>characteristics'

* • • 570 PRINT "C3 SPACES>0.5 building wi th tight crawl space" 580 PRINT "C3 SPACES>0.8 building wi th tight basement (unheated)" 590 PRINT "C3 SPACES>0.8 stone wall b asement (unheated)" 600 PRINT "C3 SPACES>0.8 2 ft or more of basement wall exposed (unheat ed) " 610 PRINT "C3 SPACESJO.8 crawl space skirted" 620 PRINT "<3 SPACESJ1.0 building on pillars with no skirts": : 625 INPUT "floor factor from above tb 1?":J 627 Y=ll 628 IF H<=1 THEN 634 629 Y=13 630 IF H<=2 THEN 634 631 Y=19 632 IF H<=3 THEN 634 633 Y=22 634 R=Y 635 GOSUB 900 637 Q=R 638 INPUT "current r factor for floor ?" :R 640 GOSUB 900 642 X=J*(R-Q)*F*FI

57 \&/ 2

644 PRINT s s 646 X=INT(X*100)/100 \st/ 648 IF X>=0 THEN 650 649 x=o 650 PRINT "annual savings by lncreasi ng floor r value to"; €4 SPACES>«";X 655 GOSUB 800 700 RESTORE

• 705 PRINT :: • 710 GOSUB 800 715 PRINT : s 720 L=96 725 GOTO 18 800 PRINTDDTMT «• H *%>/ 805 RETURN 828 R=Y 829 G0SUB900 830 I=R 899 REM conductin factor subroutine 900 IF R<11 THEN 922 901 IF R>=12 THEN 904 902 R=.077 903 RETURN 904 IF R>=15 THEN 907 905 R=.066 906 RETURN 907 IF R>=20 THEN 910 908 R=.048 Nut/' 909 RETURN 910 IF R>=24 THEN 913 \^ 911 R=.042 912 RETURN 913 IF R>=28 THEN 916 914 R=.036 915 RETURN 916 IF R>=34 THEN 919 917 R=.031 918 RETURN 919 R=.025 920 RETURN

Vagi/ 58 922 R=.5-.0385*R 923 RETURN

Program 7* DATA Statements.

1000 DATACALIFORNIA,LOSANGELES 1 4 SANFRANCISCO 3 4 SACRAMENTO 1 3 1010 DATACOLORADO,DENVER 3 4 DURANGO 4 4 ASPEN ~ 4 5 1020 DATAALABAMA, MONTGOMERY 1 2 BIRMINGHAM 1 3 HUNTSVILLE 2 3 1030 DATAARIZONAfPHOENIX 1 3 FLAGSTAFF 3 3,CONN ECTICUTT,HARTFORD 3 5 1040 DATANEW MEXICO,ROSWELL 2 3 ALBUQUERQUE 3 3 SANTAFE 3 4 1050 DATAUTAHrSALTLAKECITY 3 4 MOAB 4 4,IDAHO,B OISE 3 5 POCATELLO 4 4 1070 DATAMONTANA,BILLINGS 4 5,OREGON,PORTLAND 2 5 BAKER 3 5 1090 DATAWASHINGTON,SEATTLE 3 5,NEVADA,RENO 3 3 LASVEGAS 1 3 1110 DATANORTH DAKOTA,GRANDFORKS 5 5,OKLAHOMA,0 KLAHOMACITY 2 3 1120 DATASOUTH DAKOTA,SIOUXFALLS 4 4 PIERRE 4 5

1130 DATANEBRASKA,OMAHA 3 4,KANSAS,WICHITA 2 4 ~ TOPEKA 3 4 1160 DATATEXAS,DALLAS 1 3 HOUSTON 1 2 BROWNSVIL LE 0 1 AMARILLO 2 3 1170 DATALOUISIANA,NEWORLEANS 1 2 SHREVEPORT 1 ~ 3 1180 DATAARKANSAS,LITTLEROCK 1 3 FAYETTEVILLE 2 3 1190 DATAMISSOURI,SPRINGFIELD 2 3 STLOUIS 2 4 K ANSASCITY 3 4 1200 DATAIOWA,DESMOINES 3 4 SIOUXCITY 4 4,VERMO NT,MONTPELIER 4 5 1210 DATAMINNESOTA,MINNEAPOLIS 4 5 DULUTH 5 5,N EW HAMPSHIRE,CONCORD 4 5 1220 DATAWISCONSIN,MADISON 4 4 EAUCLAIRE 4 5,RH ODE ISLAND,PROVIDENCE 3 5 1230 DATAILLINOIS,CHICAGO 3 4 SPRINGFIELD 2 4,V IRGINIA,RICHMOND 2 4 1240 DATAMICHIGAN,DETROIT 3 4 GRANDRAPIDS 4 5 S AULTST.MARIE 5 5

59 1270 DATAINDIANA,INDIANAPOLIS 3 4 EVANSVILLE 2 4,WYOMING,CASPER 4 5 1290 DATATENNESSEE,MEMPHIS 2 3 KMOXVILLE 2 4 CH ATTANOOGA 2 3 1300 DATAMISSISSIPPI,JACKSON 1 2 TUPELO 1 3,KEN TUCKY,LOUISVILLE 2 4 1320 DATAWEST VIRGINIA,CHARLESTON 3 4,MASSACHUS ETTS,BOSTON 3 5 1330 DATAFLORIDA,MIAMI 0 1 JACKSONVILLE 1 2,OHI 0,COLUMBUS 3 4 1340 DATAGEORGIA,SAVANNAH 1 3 ATLANTA 2 3,MAINE ,PORTLAND 4 5 1350 DATASOUTH CAROLINA,CHARLESTON 1 3,NEW JERS EY,NEWARK 2 4 1360 DATANORTH CAROLINA,RALEIGH 2 3 ASHEVILLE 2 4 WILMINGTON 1 3 1390 DATAPENNSYLVANIA,PITTSBURGH 3 4,MARYLAND,B ALTIMORE 2 4 1410 DATANEW YORK,NEWYORK 3 4 ALBANY 4 5,DELAWA RE,WILMINGTOON 2 4 1480 DATAERROR 1500 DATAOIL/GALLON,1,0,NATGAS/CUFT,120,150,ELE CTRICITY/KWH,30,15 1510 DATAWOOD/CORD,.01,0,LPG/CUFT,50,60,LPG/LBS ,6,7,LPG/GALLON,1,3,1.5 1520 DATACOAL/TON,.006,0 2000 END

60

Energy Plot

Note: The data plotted by this program must be stored in files created by the "Energy Data Base"program in this book. For the OSI, Atari, Apple, and ColorComputer versions, theprogram expectsthe data files to be stored on disk. The VIC, PET/CBM, 64, and TIversions expect the data to be stored on tape.

This program produces bar charts of energy use, energy cost, and cost/energy for the data created in the data base program. It is set up to handle files for: "NATGAS," "ELECT," "COAL," "OIL" and "WOOD," overlaying the bars for each successive year in different colors. To overcome the problem of one year overwriting another, an algorithm was developed which PEEKs the screen at the top of the new bar and POKEs the new color only as long as the color remains the same. This will cause the second year's data to sometimes exactly overwrite the first year's, but more often it will cause a short bar to be placed above the first bar or a bar to start in the interior of the first and extend to the abscissa of the graph. This routine will thus allow multiple years' data to be displayed simultaneously for each month of the year. This program was originally written on the OSI 4P and on the 5K version of the VIC-20. The routines are very similar except for the location of the screens, width of the screens, and positions of the origins of the graphs (upper left corner = V, width of screen = D, upper left corner of the color screen = E+V, and the origin of the graph = T). Having these variables defined at the beginning of the program will help make the conversion to other memory mapped video systems a little easier. When the OSI version is run, it must first clear the color screen (line 35). This is not necessary on the VIC, as the lower three bits of the color screen are set by the CLR command. Line 40 sets the screen positions, and widths of the screens, and turns on the color in the OSI version. Lines 50-70 clear the screen, print the heading, accept an input for the number of years of data (N), and read in the symbols for the months (M$). The DIMension statement is variable for the Energy (E), the Cost (D), and the variable to be plotted (). Lines 80-170 input the data files from disk or tape. Lines 180 to 210 plot the energy, cost,

63 and rate, and turn the color off (in the OSI version). The subroutine to get the data from tape or disk is located in lines 220-240. The main plotting subroutine is located in lines 250-300. Line 290 detects the SHIFT key on the OSI and any key on the VIC-20 for plotting the next year or the next graph. The bargraph generation routine is located in lines 310-350. Different symbols and different colors are used on the OSIfor each year of data. The VIC-20 version uses the same and different colors for each year of data. This was done because a convenient group of symbols were in a contiguous area of the character table (and because I have a black and white monitor on the OSI). VIC-20users may also use different characters if they desire by changing the variable CHto vary with I. Similarly, users may let the color (CO) vary or set it to a single color in line 270. Lines 330 and 340 provide the bar overlaying logic. This can be removed and the routine can be modified to plot one year of data at a time by calling the bar blanking routine in line 460 after each year of data is plotted. Lines 360 to 390 determine the maximum (MX) and the minimum (MI), and set up the scaling factor PR. Lines 400-440 print the labels and draw the ordinant and abscissa. Line 420 POKEs the abscissa and line 430 POKEs the abscissa labels (the months of the year). Line 440 places the tic marks on the ordinant, and line 460 blanks out the bars on the OSI version. The VIC-20 version doesn't need this subroutine since it has a clear screen command. OSI users who have the 3.3 DOS can also replace this line with a clear screen command. Users interested in plotting a single year at a time may want to increase the resolution of the bar graphs by using the techniques discussed by David Swaim ("High Resolution Bar Graphs for the PET,"COMPUTE!, October 1981, #10, pp. 143-144).

Atari Notes For "Energy Plot" Instead of merely converting the VIC-20 or OSIversion of "Energy Plot" to the Atari, a custom program was written in order to exploit some of the Atari's special features, such as high-resolution graphics. The program willdisplaythree line (versusbar) graphs for each year of energy data (seethe figure). The data, fuel and fuel cost, should have been previously entered with the Atari version of "Energy Data Base" and saved on disk. The program will ask you

64 to type the first letter of the appropriate file (E for Electric, C for Coal, etc.). You will then see the one-color, high-resolution screen (GRAPHICS 8) transformed into a four-color, high-resolution screen with the horizontal resolution of GRAPHICS 7, and the vertical resolution of GRAPHICS 8. This special mode, known only as Antic Mode 14, cannot be accessed directly from BASIC, but can be created with display-list modification. (Briefly, all Instruction Register modes 15 and 79 must be changed to 14 and 78, respectively.) In order to PLOT on this screen, we must use "POKE 87,7" to trick the (operating system) into thinking we are in graphics mode seven. Ifwe don't do this, the colors will be garbled and unaddressable. Unfortunately, although this allows us to draw in four colors, it limits the vertical height to 96 lines, only half the screen. The other half can only be drawn upon with tricky techniques. One tricky technique used is a machine language routine known as "TextPlot" (COMPUTE!, November 1981, #18). This routine allows you to place any ATASCII character anywhere on the screen. TextPlot is used to draw the axes, display the title, key, and give other messages. This fills the screen nicely. The graph is plotted in an imaginary window (see the figure). The other routine used in this program is a relatively short one that "plots" numerals. It is used to display the minimum and maximum values of the graph. It was used instead of TextPlot because it has a greater density. (Each character is 3v by 5h, rather than 8x8, so you can fit more numbers into less space.) You can use it in your own programs by calling line 3000 (GOSUB 3000)with the variable "A" containing the numeral (0-9). If A = -2, then a decimal point will be plotted. The numeral will be plotted at screen coordinates NX and NY. Alternatively, you can enter the subroutine at 3500 with GX, GY, and GC(the X-Y coordinates and the color, 0-3) to print the number in the variable N. GDis used to limit the length of the number plotted to fit it into a limited display width (from the left margin to the side of the graph, in Energy Plot). Set it to eight or more, or just leave the statement out of the subroutine. Also, the subroutine at 1000 prints a string (MSG$)using TextPlot, at coordinates GX and GY in color GC. If ALTis set to one, the color will alternate through the string (set it to zero for normal use). You can also try to use the subroutine at 2000, which scales and plots a line from the array Z (1-12). One final note: you may want to delete line 397 to improve color

65 contrast. Since line 397 generates random colors, some lines may look similar due to similar color shades selected.

II:::: irn H::f II- £> !!:,!• IF* ill. n::i. -It II II:::: I!.... Iliii: O "II" IF* "II" O

HI I ii! !:i '•I "I . 1:1 a. baa

\$ v*y U'i

Mi::ii::iNi r n-nr • liVr1 ...|i F Ih1ln::ii M,..|i .,..|i A :!:;i; ij;;ji M ll> il"h E il"h IP A II..II II..II U 11:11: il"!: o n!l:i

•IIIK IIs" II..H II!:!: II.... •IIIH il"!: il"!) 3 "II" mWt€k

V Hi:!' .iiill IP- i! JL"»"^"3P

Figure. Sample Output ForAtari Version.

66 i i i f c t i i i c i c i i i i i c i i i ni rcci r re c c

Program 1. OSI Version.

10 REM ENERGYPLOT 30 REM LOADZ WITH PLOT VECTORS 35 F0RI=57344T059391:POKEI,14:NEXT 40 V=53248:D=64:E=4096iT=V+1871tPOKE56832,5 50 F0RI=1TQ32XPRINT XNEXT XPRINT ?TAB(20 >t"ENERGY PLOT"X PRINT *PRINT XPRINT 55 PRINT"DEFAULT=5"JINPUT"#YEARS OF DATA="*NtIFN=0THENN=5 60 DIMZ,E 70 F0RI*1T012:READM*(I)JNEXT 80 PRINTJPRINT"INSERT A DISKETTE WITH ONE OF THE FOLLOWING FILES" 90 PRINTJPRINT"1)NATGAS":PRINT"2)ELECT"JPRINT"3)C0AL":PRINT"4>0IL" 100 PRINT"5)WOOD"JPRINTXPRINT" " 110 INPUTY* 120 IFY*="1"THENC*="NATGAS" 130 IFY*="2"THENC*="ELECT" 140 IFY*="3"THENC*="C0AL" 150 IFY»*"4"THENC*="0IL" 160 IFY*="5"THENC*="W00D" 170 GOSUB230 180 F0RI=1T0NJF0RM=»1T012:Z(I,M)=E(I,M) tNEXTJNEXT 185 C*="ENERGY"{GOSUB250:REM PLOT ENERGY 190 F0RI=lT0NiF0RM=lT012JZ=D=0:IFE>OTHENZ=100*D/E 205 NEXTJNEXTJC*="RATE"JGOSUB250:REM RATE 210 P0KE56832,i:END 220 rem get data, n=#yrs, by=beg yr, ey=end yr, e<)=energy,d<)=cost OS ~4 230 disk open,6,c*:input#6,n,by,ey:fori=iton:form=itoi2 u> gg 235INPUT#6,E=data 260 gosub360jgosub400 270 f0ri=1t0nxco=i+lxch=135+ixf0rm=1t012 280 x=3*mjy=-mi>*prjgosub31ojnext 290 ifpeek<57088)=1then290 300 nextjreturn 310 rem bargraph enter with x & y, co=color 320 xx=t+x-1jy=int(y)jify<=othenreturn 330 forii=yt01step-ljq=xx-ii*d ja=15andpeek:iFX>MXTHENMX-X 380 IFXJPR=30*.8/JC* 410 F0RI=5T01STEP-1J PRINTINT(MI+I*5/PR)J PRINT JPRINT JPRINT 415 PRINT JNEXT 420 FORI=TTOT+40JPOKEI,131JPOKEI+E,14JNEXT 430 F0RI=lTO12JQ=T+63+I*3JPOKEQ+E,14JPOKEG,ASC(M*JNEXT 440 F0RI=V+13T0TSTEPD JPOKEI+E,14 JPOKEI,207 JNEXT JRETURN 450 DATAJ,F,M,A,M,J,J,A,S,0,N,D 460 F0RM=1T012JF0RI=1T029JP0KEE+T-1+M*3-I*64,14JNEXTJNEXT 470 RETURN

ICC t '•€ < 1 I -4 I < I I I i. i I i. i i t i € I I f t i I -3

Program 2* VIC Version.

10 REM ENERPLOT VIC VERSION 30 REM L0ADZ(YEAR,12) WITH PLOT VECTORS 40 V=7680:D=22:E=30720:T=V+468 50 N=5:PRINT"{CLEAR} ENERGY PLOT{03 DOWN} ":PRINT"DEFAULT=5":INPUT"# YEARS OF D ATA";N 60 DIMZ(N,12),M$(12),E(N,12),D(N,12) 70 F0RI=1T012:READM$(I):NEXT 8 0 PRINT"{DOWN}";"PLACE A TAPE WITH ONE OF TH E FOLLOWING FILES IN THE CASSETTE RDR ii 90 PRINT"{02 DOWN} DNATGAS": PRINT" 2) ELECT": PR INT"3)COAL":PRINT"4)OIL" 100 PRINT"5)WOOD":PRINT"{DOWN}" 110 GETY$:IFY$Onl"ANDY$<>"2"ANDY$0"3"ANDY$<> "4"ANDY$O"5"THEN110 120 IFY$="1"THENC$="NATGAS" 130 IFY$="2"THENC$="ELECT" 140 IFY$="3"THENC$="COAL" 150 IFY$="4"THENC$="OIL" 160 IFY$="5"THENC$="WOOD" 170 GOSUB230 180 FORI=lTONsFORM=lT012:Z(I,M)=E(I,M):NEXT:NE XT:C$="ENERGY":GOSUB250:REM PLOT ENER GY 190 FORI=lTON:FORM=lT012:Z(I,M)=D(I,M):NEXT:NE XT:C$="COST":GOSUB250:REM PLOT COST 200 FORI=1TON:FORM=1TO12:Z(I,M)=0:IFE(I,M)>0TH ENZ(I,M)=100*D(I,M)/E (I,M) 205 NEXT:NEXT:C$="RATE":GOSUB250:REM RATE 210 END 220 REM GET DATA,N=#YRS,BY=BEG YR,EY=ENDING YR ,E ()=ENERGY,D()=COST 230 OPENl,lf0fC$:INPUT#lfNfBYfEY:FORI=lTON:FOR M=1T012:INPUT#1/E(I/M),D(IfM):NEXT:NE XT 240 CLOSEl:RETURN 250 REM PLOT SUBROUTINE, MX=MAX,MI=MIN,Z(YEAR, MONTH)=DATA 260 GOSUB360:GOSUB400 270 FORI=lTON:CO=I+l:FORM=lT012 280 X=M:Y=(Z(IrM)-MI)*PR:GOSUB310:NEXT 290 GETY$:IFY$=""THEN290

69 300 NEXT:RETURN 310 REM BARGRAPH ENTER WITH X& Y,CO=COLOR 320 XX=445+V+X:Y=INT(Y) 330 FORII=YTO0STEP-1:Q=XX-II*D:A=7ANDPEEK(Q+E) :IFII=YTHENB=A 340 IFA=BTHENPOKEQ,160:POKEQ+E,CO 350 NEXT:RETURN 360 REM SCALING 370 MX=Z(1,1):MI=MX:F0RI=1T0N:F0RM=1T012:X=Z(I fM):IFX>MXTHENMX=X 380 IFX

Program 3. Commodore 64 Version.

10 REM ENERPLOT 30 REM LOADZ(YEARr12) WITH PLOT VECTORS 40 V=1024:D=40:E=54272:T=V+807:PRINTCHR$(5) 50 N=5:PRINT"{CLEAR} ENERGY PLOT{03 DOWN} 11 :PRINT,,DEFAULT=5":INPUT"# YEARS OF D ATA"•N 60 DIMZ(Nf12),M$(12),E(Nf12)fD(Nf12) 70 FORI=lT012:READM$(I):NEXT 80 PRINT"{DOWN}";"PLACE A TAPE WITH ONE OF TH E FOLLOWING FILES IN THE CASSETTE RDR

ii 90 PRINT"{02 DOWN}1)NATGAS":PRINT"2)ELECT":PR INT"3)COAL":PRINT"4)OIL" 100 PRINT"5)WOOD":PRINT"{DOWN}" 110 GETY$:IFY$<>"1"ANDY$<>"2"ANDY$<>"3"ANDY$<> "4"ANDY$O"5"THEN110 120 IFY$="1"THENC$="NATGAS" 130 IFY$="2"THENC$="ELECT"

70 140 IFY$="3"THENC$="COAL" 150 IFY$="4"THENC$="OIL" 160 IFY$="5"THENC$="WOOD" 170 GOSUB230 180 F0RI=1T0N:F0RM=1T012:Z(I,M)=E(I,M) :NEXT:NE XT:C$="ENERGY":GOSUB250:REM PLOT ENER GY 190 FORI=lTON:FORM=lTOl2:Z(I,M)=D(I,M):NEXT:NE XT:C$="COST":GOSUB250:REM PLOT COST 200 FORI=lTON:F0RM=1T012:Z(I,M)=0:IFE(I,M)>0TH ENZ(I,M)=100*D(I,M)/E(I,M) 205 NEXT:NEXT:C$="RATE":GOSUB250:REM RATE 210 END 220 REM GET DATA,N=#YRS,BY=BEG YR,EY=ENDING YR ,E()=ENERGY,D()=COST 230 OPENl,lf0,C$:INPUT#l,N,BY,EY:FORI=lTON:FOR M=1T012:INPUT#1,E(I,M),D(I,M):NEXT:NE XT 240 CLOSE1:RETURN 250 REM PLOT SUBROUTINE, MX=MAX,MI=MIN,Z(YEAR, MONTH)=DATA 260 GOSUB360:GOSUB400 270 FORI=lTON:CO=I:FORM=lT012 280 X=M*2:Y=(Z(I,M)-MI)*PR:GOSUB320:NEXT 290 GETY$:IFY$=""THEN290 300 NEXT:RETURN 310 REM BARGRAPH ENTER WITH X & Y,CO=COLOR 320 XX=T-42+X:Y=INT(Y) 330 FORII=YTO0STEP-l:Q=XX-II*D:A=7ANDPEEK(Q+E) :IFII=YTHENB=A 335 IFY=0THEN350 340 IFA=BTHENPOKEQ,160:POKEQ+E,CO 350 NEXT:RETURN 360 REM SCALING 370 MX=Z(1,1):MI=MX:FORI=lTON:FORM=lT012:X=Z(I ,M):IFX>MXTHENMX=X 380 IFX

71 430 FORI=lT012:Q=T+78+2*I:POKEQ+E,l:POKEQ,ASC( M$(I))-64:NEXT 440 FORI=V+5TOTSTEP40:POKEI+E,1:POKEI,115:NEXT :RETURN 450 DATAJ,F,M,A,M,J,J,A,S,0,N,D 500 REM V=UPPER LEFT CORNER OF SCREEN E= COLOR SCREEN-SCREEN=55296-1024 510 REM D=SCREEN WIDTH, T IS THE POSITION OF T HE ORIGIN ON THE SCREEN

Program 4* PET/CBM Version* 10 REM ENERGYPLOT PET/CBM VERSION 30 REM LOADZ(YEAR,12) WITH PLOT VECTORS 40 V=32768:D=80:T=V+21*D+6:POKE59468,12:REM U SE D=80 FOR 8032 50 N=5:PRINT"{CLEAR} ENERGY PLOT{03 DOWN} ":INPUT"* YEARS OF DATA?_5{03 LEFT}"; N 60 DIMZ(N,12),M$(12),E(N,12),D(N,12) 70 FORI=lT012:READM$(I):NEXT 80 PRINT"{DOWN}";"PLACE A TAPE WITH ONE OF TH E FOLLOWING FILES IN THE CASSETTE RDR

ii 90 PRINT"{02 DOWN}1)NATGAS":PRINT"2)ELECT":PR INT"3)COAL":PRINT"4)OIL" 100 PRINT"5) WOOD"-.PRINT" {DOWN} " 110 GETY$:IFY$<>"1"ANDY$<>"2"ANDY$0"3"ANDY$<> "4"ANDY$O"5"THEN110 120 IFY$="1"THENC$="NATGAS" 130 IFY$="2"THENC$="ELECT" 140 IFY$="3"THENC$="COAL" 150 IFY$="4"THENC$="OIL" 160 IFY$="5"THENC$="WOOD" 170 GOSUB230 180 FORI=lTON:FORM=lT012:Z(I,M)=E(I,M) :NEXT:NE XT:C$="ENERGY":GOSUB250:REM PLOT ENER GY 190 FORI=lTON:FORM=lT012:Z(I,M)=D(I,M):NEXT:NE XT:C$="COST":GOSUB250:REM PLOT COST 200 FORI=lTON:FORM=lTO12:Z(I,M)=0:IFE(I,M)>0TH ENZ(I,M)=100*D(I,M)/E(I,M) 205 NEXT:NEXT:C$="RATE":GOSUB250:REM RATE 210 END

72 220 REM GET DATA,N=#YRS,BY=BEG YR,EY=ENDING YR ,E()=ENERGY,D()=COST 230 OPEN1,1,0,C$:INPUT#1,N,BY,EY:FORI=1TON:FOR M=1T012:INPUT#1,E(I,M),D(I,M):NEXT:NE XT 240 CLOSE1:RETURN 250 REM PLOT SUBROUTINE, MX=MAX,MI=MIN,Z(YEAR, MONTH)=DATA 260 GOSUB360:GOSUB400 270 FORI=lTON:CO=I+l:FORM=lT012 280 X=M:Y=(Z(I,M)-MI)*PR:GOSUB310:NEXT 290 GETY$:IFY$=""THEN290 300 NEXT:RETURN 310 REM BARGRAPH ENTER WITH X&Y 320 XX=20*D+5+V+X:Y=INT(Y) 330 FORII=YTO0STEP-l:Q=XX-II*D:A=7ANDPEEK(Q):I FII=YTHENB=A 340 IFA=BTHENPOKEQ,159+CO 350 NEXT:RETURN 360 REM SCALING 370 MX=Z(1,1):MI=MX:FORI=lTON:FORM=lT012:X=Z(I fM) MFX>MXTHENMX=X 380 IFX

Program 5* Atari Version.

ICO REM lirrEliSECBSOEGBBBBIIOCSOBEIlCEglEiEC: 110 REM 115 DIM F*(14),1%(4)?E(10,12),D(10,12 ),F(10,12),Z(12),MSG*(20) 117 Z*=":B<:M>

73 130 7 #6; " CAN'T OPEN THE FILE.":? #6;"PRESS ANY KEY TO ":? #6;"TRY AGAIN-":GET #1,A:G0T0 130 260 INPUT #2;N,BY,EY 270 FOR 1=1 TO N 280 FOR M=l TO 12 290 INPUT #2;A,B:E(I,M)=A:D(I,M)=B 298 FOR J=l TO 4:P0SITI0N 15,9:? #6;Z *(J,J):FOR W=l TO 4:NEXT W:NEXT J 300 NEXT M 310 NEXT I 320 GRAPHICS 5+16:IF PEEK(1600)<>252 THEN GOSUB 20000 321 DL=PEEK(560)+256»PEEK(561)+4 322 POKE DL-1,11+64:POKE 87,6 323 FOR 1=2 TO 15:P0KE DL+I,11:NEXT I 325 SETCOLOR 4,1,6:SETCOLOR 0,0,14:SE TCOLOR 1,4,lOsSETCOLOR 2,3,12 330 MSG*=" BEfiEEElBB" : GC=3: GX=0: GY=0 :GOSUB 1000 340 POKE 87,5:MSG*="Energy":GC=2:GX=2 :GY=24:GOSUB lOOO 350 MSG*="P1ot":GC=3:GX=3:GY=40:GOSUB lOOO 360 FOR W=l TO 1000:NEXT W

74 370 GRAPHICS 8+16:DL=PEEK(560)+256*PE EK(561)+4 375 MSG*="Transforming Screen":GX=1:G Y=96:GC=3:SETCOLOR 2,1,14:GOSUB 1 OOO 380 FOR I = -l TO 200:IF PEEK(DL+I)=15 THEN POKE DL+I,14 385 IF PEEK(DL+I)=79 THEN POKE DL+I,7 8 390 NEXT I 395 FOR YEAR=BY TO EY:? #65"{CLEAR*" 397 Z=0:FOR 1=1 TO 12 STEP 3:SETC0L0R Z, INT(3*RND(0> +1) ,Z*2+8:Z= Z + 1:NE XT I 400 MSG*="Energy PIot:":GC=2:GX=0:GY= 0:GOSUB 1000 410 MSG*=F*(3):GX=12:GY=0:GC=1:GOSUB 1000 415 MSG*="MAX":GX=17:GY=16:GC=3sGOSUB 1000 417 MSG$="MIN":GX=17:GY=88:GC=1:G0SUB 1000 420 FOR 1=2 TO 11:A=USR(1536,1, 1,4, I* 8):NEXT I 430 A=USR(1536,26,3,4,12*8) 440 FOR 1=5 TO 16:A=USR(1536,74,3,I,1 2*8):NEXT I 441 MSG*=" JFMAMJJAS0ND":GX=4*GY=13*8 :GC=1:ALT=1:GOSUB 1000 442 MSG*=" AEAPAUUUECOE":GY=GY+7:GOSU B lOOO 443 MSG*=" NBRRYNLGPTVC":GY=GY+7:GOSU B 1000:ALT=0 450 MSG*="CT>FUEL":GC=1:GX=1:GY=152: G OSUB 1000 460 MSG*="COST":GC=2:GX = 8: GY=152: G OSUB 1000 470 MSG*="CT>RATE":GC=3:GX=15:GY=152: GOSUB lOOO 480 MSG*="Year:":GX=7-LEN(STR*(YEAR)) /2:GY=178:GC=2:GOSUB 1000:MSG$=ST R*(YEAR):GC=7:GX=GX+5:G0SUB lOOO 500 FOR 1=1 TO 12:Z(I)=E(YEAR-BY+1,I) :NEXT I:C1=1:G0SUB 2000

75 s^§/

510 FOR 1=1 TO 12:Z( I)=D(YEAR-BY + 1,I) :NEXT I:C1=2:G0SUB 2000 520 FOR 1=1 TO 12:Z(I)=0:IF E(YEAR-BY + 1,I)>0 THEN Z (I)=100*D(YEAR-BY+1 ,I)/E(YEAR-BY+1,I) 530 NEXT I:C1=3:G0SUB 2000 VHP/ 550 MSG*="Press ESDEEE" : GC=2: GX = 4 : GY= 136:G0SUB 1000:GET #1,A 560 NEXT YEAR 999 RUN lOOO REM SUBROUTINE TO PRINT MSG*, US ING TEXTPLOT 1010 REM ENTER WITH GX,GY, THE X AND Y COORDINATES TO START THE MESSA GE

1015 REM AND GC, THE COLOR (0-3) Nig/ 1017 GP = GC 1020 FOR GI=1 TO LEN(MSG*)

1030 GG=USR(1536,ASC(MSG*(GI)),GC,GX+ **$$§? GI-1,GY):IF ALT THEN GC=GC*(GC<3 )+l Sag!/ 1040 NEXT GI:GC=GP 1050 RETURN 2000 MAX=0:MIN=1.OE+97 20 lO FOR 1=1 TO 12 2020 IF Z(I)>MAX THEN MAX=Z(I) 2030 IF ZCIXMIN THEN MIN=Z(I) 2040 NEXT I:POKE 87,7 2050 N=INT(MINtlOOO)/1000:ND=8:GX=0:G Y=96-C1*6:GC=C1:GOSUB 3500 SSB/ 2060 N=INT(MAX*1000)/lOOO:GX = 0 : GY=16 + CI*6:GOSUB 3500 V|p/ 2100 C2=C1+1:IF C2>3 THEN C2=l 2107 IF MAX=MIN THEN MIN=MIN-1E-04 21 10 FOR 1=1 TO 12 2120 X=32+I*8+C1*3:A=Z(I) 2130 Y=94-((A-MIN)/(MAX-MIN))*80 2135 IF I>1 THEN COLOR C1:DRAWT0 X-l, Y 2140 COLOR C2:PLOT X+1,Y:PL0T X,Y-1:P LOT X,Y+1:PL0T X,Y 2150 NEXT I 2160 RETURN 3000 REM PRINT A TINY NUMBER

76 *!§/

Villi/ 3001 REM ENTER WITH A=0-9 OR -2 TO P RINT A PERIOD 3005 IF A<0 THEN 3020 3010 ON A+l GOSUB 3100,31 10,3120,3130 ,3140,3150,3160,3170,3180,3190 3020 IF A=-2 THEN PLOT NX +l,NY+4 3030 RETURN 3100 PLOT NX,NY:DRAWTO NX +2,NY:DRAWTO NX+2,NY+4:DRAWTO NX ,NY+4:DRAWTO NX,NY:RETURN 3110 PLOT NX+1,NY:DRAWT0 NX+1,NY+4:RE TURN 3120 PLOT NX,NY:DRAWTO NX +2,NY:DRAWTO NX+2,NY+2:DRAWTO NX ,NY+2:DRAWTO NX,NY+4:DRAWT0 NX+2 ,NY+4:RETURN

3130 PLOT NX,NY:DRAWTO NX+2,NY:DRAWTO NX+2,NY+4:DRAWT0 NX,NY+4:PL0T N X+2,NY+2:DRAWTO NX,NY+2:RETURN 3140 PLOT NX,NY:DRAWTO NX,NY+2:DRAWTO NX+2,NY+2:DRAWTO NX+2,NY+4:DRAW TO NX+2,NY:RETURN 3150 PLOT NX+2,NY:DRAWT0 NX,NY:DRAWTO NX,NY+2:DRAWT0 NX+2,NY+2:DRAWTO NX+2,NY+4:DRAWT0 NX,NY+4:RETURN 3160 PLOT NX,NY:DRAWTO NX,NY+4:DRAWTO NX+2,NY+4:DRAWTO NX+2,NY+2:DRAW TO NX,NY+2:RETURN 3170 PLOT NX,NY:DRAWTO NX+2,NY:DRAWTO NX+2,NY+4:RETURN 3180 PLOT NX,NY:DRAWTO NX+2,NY:DRAWTO NX+2,NY+4:DRAWTO NX,NY+4:DRAWTO NX,NY 3185 PLOT NX,NY+2:DRAWTO NX+2,NY+2:RE TURN 3190 PLOT NX+2,NY+4:DRAWTO NX+2,NY:DR AWTO NX,NY:DRAWTO NX,NY+2:DRAWTO NX+2,NY+2:RETURN 3500 REM PRINTS A NUMBER (N) AT POSIT ION GX,GY IN COLOR GC 3505 REM STRING IS CLIPPED TO LENGTH ND (NUMBER OF DIGITS) LEAVE OUT LINE 3508 IF FEATURE NOT DESIRED 3507 COLOR GC:MSG*=STR*(N)

77 20270 DATA 169,O,133,208,133,20c 20280 DATA 177,205,69,195,72,10' 20290 DATA 10,72,144,8,24,173 20300 DATA 251,6,5,208,133,208 20310 DATA 224,1,240,8,6,208 20320 DATA 38,209,6,208,38,209 20330 DATA 202,208,228,104,152,72 20340 DATA 160,0,165,209,145,203 20350 DATA 200,165,208,145,203,10' 20360 DATA 168,24,165,203,101,207

78 20370 DATA 133,203,144,2,230,204 20380 DATA 200,192,8,208,183,96 20390 DATA 169,0,133,212,162,8 20400 DATA 70,186,144,3,24,101 20410 DATA 187,106,102,212,202,208 20420 DATA 243,133,213,96,0,1 20430 DATA 28

Program 6. Color ComputerVersion.

lO REM ENERPLOT 20 REM LOAD Z" 80 Y*=INKEY*:IFY*<>"1"ANDY*<>"2"ANDY* <>"3"ANDY*< >"4"ANDY*< >"5"THEN80 90 IFY*="1"THENC*="NATGAS"ELSEIFY*="2 "THENC*="ELECT"ELSEIFY*="3"THENC*= "COAL"ELSEIFY*="4"THENC*="OIL"ELSE IFY*="5"THENC*="WOOD"ELSE80 lOO GOSUB160 1lO DATAJAN,FEB,MAR,APR,MAY,JUNE,JULY ,AUG,SEPT,OCT,NOV,DEC 120 FORI = lTON:FORM=lT012:Z

79 MX THENMX=Z(Y,Z)ELSE IFZ(Y,ZXMI THENMI = Z (Y, Z) 240 NEXT:NEXT:MX=INT(MX):MI=INT(MI) 250 AA*=STR*(MX) : DRAWBMO , 7" : G0SUB310 : AA*=STR*(MI) : DRAWBMO, 160": GOSUB 310:AA*=STR*(INT((MX-MI)/3+MI)):D RAWBM1 , 107":G0SUB310: AA*= STR*(IN T((MX-MI)/3*2+MI)):DRAW"BM1,58":G 0SUB310 260 PR=160/(MX-MI):CO=MI*PR 270 FORYE=lTON:COLORYE+l,4 280 FORZ = lTOH: LINE (55+17. 9* (Z-l) , ABS (160-PR*Z(YE,Z)+CO))-(72.9+17.9*( Z-l),ABS(160-PR*Z(YE,Z+l)+CO)), ET:NEXT 290 NEXTYE 300 IFINKEY*=""THEN300ELSERETURN 310 ' LETTERS ROUTINE 320 F0RI = 1T0LEN(AA*) : IFMID*(AA*, I, 1) = " "THENDRAW"BM+9,0":G0T0360 330 IFMID*(AA*,I,1)="O"THENDRAWLT*(31 ):G0T0360

80 Vjgjj^/

w 340 DRAW"S4;C3;" w 350 DRAWLT*-48> 360 DRAW"BM+1,0":NEXT:RETURN w 370 END w 380 DATA"BM+l,0;BRl;U6;BM+5,+6","NR4; Ul;Ei;Rl;E2;Ul;Hl;L2;Gl;BM+7,+5", \i^/ "BM+O,-1;F1;R2;E1;H2;E2;H1;L3;BM+ w 7,6","BM+3,0;U2;NR1;L3;U1;E3;D3;B M+4,3","BM+0,-l;Fl;R2;El;U2;Hl;L3 \j^j/ ;U2;R4;BM+3,+6" w 390 DATA"BM+4,-5;Hl;L2;Gl;D4;Fl;R2;El jUisHljLS^M+yj+S" , "U1;E4;U1;L4;B M+7,+6","BM+1,-0;H1;U1;E15H1;U1;E l;R2;Fl;Dl;Gl;NL2;Fl;Dl;Gi;L2;BM+ 6,0","BM+O,-1;F1;R2;E1;U4;H1;L2;G 1 ; D1;F1;R2;BM+4,+3" w 400 DATA"U4;E2;F2;D2;NL4;D2;BM+3,0"," U6;R3;Fl;Di;Gi;NL3;FJL;Di;Gl;L3;BM \^g/ +7,0","BM+1,-0;H1;U4;E1;R2;F1;BM+ O,+4;Gl;L2;BM+6,0","U6;R3;F1;D4;G l;L3;BM+7,0","NR4;U3;NR2; U3; R4 ; BM \^/ +3,+6","U3;NR2;U3;R4;BM+3,+6" w 410 DATA"BM+l,-0;Hl;U4;Ei;R2;Fl;BM+0, +2;NL1;D2;Gl;L2;BM+6,b","U3;NU3;R VjjW^/ 4;NU3;D3;BM+3,0","BM+2,6; U6;BM+5, w +6","R3;El;U5;BM+3,6","U3;NU3;R1; NE3;F3;BM+3,0","NU6;R4;Ul;BM+3,+1 \ii^y w 420 DATA"U6;F2;NDl;E2;D6;BM+3,0", "U6; Fl;Dl;F2;Dl;Fl;NU6;BM+3,0","BM+1, w 0;Hl;U4;El;R2;Fl;D4;Gl;L2;BM+6,0" w , "U6;R3;Fl;Dl;Gl;L3;BM+7,3", "BM+1 ,0;Hl;U4;El;R2;Fl;D3;Gl;NHlsNFl;G w l;Ll;BM+6,0","U6;R3;Fl;Dl;G1;L2;N

Vj^/ Ll;F3;BM+3,0" 430 DATA"BM+0,-l;Fl;R2;El;Ul;Hl;L2;Hl ^ ;Ul;El;R2;Fl;BM+3,+5","BM+2,+0;U6

\^t/ ;NL2;R2;BM+3,+6","BM+0,-1;NU5;F1; R2;El;U5;BM+3,6","BM+0,-6;D2;F1;D '**' 1;F1;ND1;E1;U1;E1;U2; BM+3, +6 " , " NU w 6;E2;NUl;F2;U6;BM+3,6"

81 440 DATA"U1;E4;U1;BM-4,0;D1;F4;D1;BM+ 3,0","BM+0,-6;D2;F2;ND2;E2;U2;BM+ 3,7"," NR4 ; U 1 ; E4 ; U1 ;L4 ; BM+7 , 6 "

Program 7. TI-99 Version.

1 REM energyplot, TI version 3 REM load z(year,12) with plot vecto

rs lO CALL COLOR<12,4,7) 12 CALL COLOR<13,16,4) 14 CALL COLOR(14,4,6) 16 CALL COLOR(15,4,16) 18 CALL COLOR<16,4,13) 32 DEF TRC

• m m m 60 DIM Z(lO,12),E<10,12),D(10,12) 65 REM dim set for lO yrs of data 70 READ M* 80 PRINT "insert a tape with one of <3 SPACESJthe following files" 85 PRINT "1) natgas, 2) elect, 3) coa 14) oil, 5) wood": :::: 90 PRINT "PRESS ANY KEY TO CONTINUE" lOO GOSUB 500 170 GOSUB 230 180 FOR 1=1 TO N 184 FOR M=l TO 12 186 Z

82 192 GOSUB 250 w 194 FOR 1=1 TO N 196 FOR M=l TO 12 \^/ 198 Z(I,M)=D(I,M) ^ 199 NEXT M 200 NEXT I 202 D*="COST" w 203 GOSUB 250 204 FOR 1=1 TO N 205 FOR M=l TO 12 w 206 Z(I,M)=0 207 IF E(I,M)=0 THEN 209 208 Z(I,M)=100*D(I,M)/E(I,M) w 209 NEXT M 210 NEXT I 211 D*="RATE" w 212 GOSUB 250 214 END W 220 REM get data, n=# yrs, by=beg yr, w ey=end yr, e()=energy, d()=cost 230 OPEN #2:"CS1",INTERNAL,INPUT ,FIX *nHs/ ED 128 w 232 INPUT #2:C*,N,BY,EY 234 FOR 1=1 TO N 236 INPUT *2:E(I,1),D(I,1),E(I,2),D(I ,2>,E(I,3),D(I,3),E(I,4),D(I,4),E (I,5),D(I,5),E(I,6),D(I,6),E(I,7) ,D(I,7) w 237 INPUT #2:E(I,8),D(I,8),E(I,9),D(I ,9),E(I,10),D(I,10),E(I,11),D(I,1 1),E(I,12),D(I,12)

238 NEXT I W 239 CLOSE #2 240 RETURN "*"" 250 REM plot subroutine, mx = max, mi w =min, z(year,month)-data w 260 GOSUB 360 265 GOSUB 400 W 270 FOR 1=1 TO N w 271 S=10*(I-1)

^ 83 272 IF S<31 THEN 276 273 S=-10*(1-4) 276 FOR M=l TO 12 280 X=2*M 282 Y=21-(Z(I,M)-MI)*PR Vssgy 284 GOSUB 310 286 NEXT M 290 GOSUB 500 W 300 NEXT I 305 RETURN 310 REM bargraph enter with x & y, co =color 320 XX=X+8 322 Y=INT(Y) 323 CALL GCHAR(Y, XX,QQ) 325 IF Y<22 THEN 330 326 RETURN 330 FOR II=Y TO 21 332 CALL GCHARdI ,XX,Q) 334 IF QOQQ THEN1 337 335 NEXT II 337 11=11-1 350 CALL VCHAR(Y, XX,127+S,II^Y+1) 355 RETURN 360 REM scaling 370 MX=Z(1,1) 371 MI=MX 372 FOR 1=1 TO N 373 FOR M=l TO 12 374 X=Z(I,M) 375 IF XMI THEN 390 379 MI = X 390 NEXT M 392 NEXT I 394 MX=INT(MX+1) 396 MI=INT(MI) 398 PR=20/(MX-MI]> 399 RETURN 400 CALL CLEAR 404 PRINT D*Sc"<6 SPACES}"&C* 410 FOR 1=4 TO 1 STEP -1 412 Y=TRC(MI+I*4/PR) 413 PRINT STR*(Y) 415 PRINT ::: : 416 NEXT I 417 PRINT STR*(MI) 418 PRINT M* 420 CALL HCHAR(22,9,129,25) 425 CALL VCHAR(2,9,130,21) 427 FOR 1=2 TO 22 STEP 5 429 CALL VCHAR(I,9,128,1) 430 NEXT I 435 CALL HCHAR(23,32,lOO, 1) 440 RETURN 450 DATA "€7 SPACES}j f m a m j j a ! on" 462 CALL VCHAR(2,1,32,19) 500 CALL KEY(3,Y,ST) 510 IF ST=0 THEN 500 515 Y=Y-48 520 RETURN lOOO CALL COLOR(11,16,4) 1002 CALL CHAR(117,"181818FFFF181818' ) 1005 CALL HCHAR(12,16,117,5) 1010 GOTO 1010

Program 8. AppleVersion.

100 REM ENERGY PLOT - APPLE VERSION 101 LOMEMi 24576 110 D* = CHR* (4) 115 DIM E(10,12),DU0,12),F(10,12),Z(12) 117 DIM CS*(26),NS*(9) 120 TEXT : HOME 130 INVERSE : HTAB 15i PRINT "ENERGY PLOT"i NORMAL 140 PRINT s PRINT s PRINT "SELECT FILEs": PRINT s PRINT 160 PRINT " ATURAL GAS": PRINT : PRINT " LE CTRICITY": PRINT 8 PRINT " OAL"s PRINT

85 s PRINT " IL"s PRINT a PRINT " OOD" 165 INVERSE s VTAB 7s PRINT "N"a PRINT s PRINT "E"b PRINT s PRINT "C"s PRINT a PRINT " 0"s PRINT s PRINT "W" 170 PRINT s NORMAL s PRINT "PRESS ONE LETTE T A*: IF A* = CHR* <27) THEN HOME s END 175 F* = "" 180 IF A* "N" THEN F* = "NATGAS" 190 IF A* "E" THEN F* = "ELECT" 200 IF A* "C" THEN F* • "COAL" 210 IF A* "0" THEN F* = "OIL" 220 IF A* "W" THEN F* = "WOOD" 225 IF F* "" THEN RUN 230 FLASH PRINT : PRINT s PRINT "READIN FILE"8 NORMAL 235 ONERR GOTO 250 240 PRINT D*8"QPEN";F*b PRINT D*5"READ"5F* 245 GOTO 260 250 PRINT D*;"CLOSE";F*s HOME s INVERSE s PRINT "CAN'T READ THE FILE!"s PRINT s NORMAL a PRINT "PRESS A KEY TO TRY AGAIN..."as GET A*a RUN 260 INPUT N,BY,EY 270 FOR I - 1 TO N 280 FOR M = 1 TO 12 290 INPUT E(IfM)a INPUT D

86 417 MSB* = "MIN"sBX = 20:BY = 88:SC = 7: 60SUB 1000 420 HC0L0R= 7: HPLOT 40,16 TO 40,96: FOR I = 2 TO 11: HPLOT 40,1 * 8 TO 44,1 * 8: NEXT

440 HPLOT 40,96 TO 152,96: FOR I - 7 TO 18: HPLOT I» 8 + 4,96 TO I* 8 + 4,94: NEXT

441 MSB* = "JFMAMJJAS0ND"i6X = 7:GY = 13 * 8 iBC • 7: 60SUB 1000 442 MSB* = "AEAPAUUUEC0E":6Y = BY + 7a 60SUB 1000 443 MSB* • "NBRRYNLSPTVC":BY = BY + 7: 60SUB 1000 450 66 = 64:6C = lsGX = 8:BY = 152: 60SUB 15 00:MSB* = "FUEL":GC = 7:GX = 2: 60SUB 1 000 460 66 • 64:6C = 2:GX = 64:BY = 152: 60SUB 1 500:MSB* = "C0ST":6C = 7:SX = 9: 60SUB 1000 470 66 = 64:6C = 3:6X = 120:6Y = 152: 60SUB 1500:MS6* = HRATE":6C = 7sGX = 16: GOSUB 1000 480 MS6* = "YEAR":6X = 11 - LEN ( STR* (YEA R)) / 2:6Y = 140:60 = 7: 60SUB 1000:ND = 4:N - YEAR:SC = 1:6X = 6X + 14: 60SUB 3 500 500 FOR I - 1 TO 12:Z(I) = E(YEAR - BY + 1, I): NEXT :C1 = 1: 60SUB 2000 510 FOR I = 1 TO 12:Z(I) - D(YEAR - BY + 1, I): NEXT :C1 =2: GOSUB 2000 520 FOR I - 1 TO 12:Z(I) = 0: IF E(YEAR -B Y + 1,1) > 0 THEN Z(I) o 100 * D(YEAR - BY +1,1) / E(YEAR - BY + 1,1) 530 NEXT I:CI = 3: 60SUB 2000 550 VTAB 23: PRINT "PRESS "j: INVERSE : PRINT "RETURN":: NORMAL : PRINT "...":: SET A * 560 NEXT YEAR 999 RUN 1000 REM SUBROUTINE TO PRINT ALPHA TEXT IN MS6* 1010 REM ENTER WITH 6X,6Y THE X,Y COORDINA TES TO START THE MESSA6E 1015 REM AND 6C, THE HCOLOR 1016 IF MSS* - "" THEN RETURN

87 Nanus/

Vsii/'

V

1017 X2 = 6X:BX = SX * 8 * SC W 1020 FOR SI = 1 TO LEN (MSB*) W 1030 66 = ASC ( MID* (MSS*,6I))s IF 66 > 63 THEN 60SUB 1500 w 1037 SX = 6X + 8 * SC w 1040 NEXT 6I:6X - X2 1050 RETURN w 1400 REM SUBROUTINE TO PRINT CHARACTER 66 AT 6X,6Y IN COLOR 6C w 1500 HCOLOR= BCjCS* = CS*(66 - 64) w 1510 FOR CI - 1 TO LEN (CS*) STEP 2 1520 Dl* = MID* (CS*,CI,1):D2* = MID* (CS* w ,CI + 1,1) 1530 X = VAL (Dl*) * SC:Y = VAL (D2«) * SC w 1540 IF Dl* = "/" THEN STP - 1: 60T0 1580 w 1550 IF CI > 1 AND STP = 0 THEN HPLOT TO w SX + X,6Y + Y 1560 HPLOT 6X + X,6Y + Y:STP =0 w 1580 NEXT CI 1590 RETURN 2000 MAX = 0:MIN - - 1 W 2010 FOR I - 1 TO 12 2020 IF Z(I) > MAX THEN MAX = Z(I) W 2030 IF (Z(I) < MIN) THEN MIN = Z(I) 2040 NEXT 2050 N » INT (MIN * 1000) / 1000:ND - 8:6X = w 1:6Y - 96 - CI * 7a 60SUB 3500: HCOLOR= CI: HPLOT 0,6Y TO 1,6Y TO 1,6Y + 1 TO O W 2060 N = INT (MAX * 1000) / 1000:6X - 1:6Y = w 16 + CI * 7: 60SUB 3500: HC0L0R= CI: HPLOT w 0,6Y TO 1,6Y TO 1,6Y + 1 TO 0,6Y + 1 2100 C2 = CI + 4 v*/ 2107 IF (MAX = MIN) THEN MIN - MIN - .0001 2110 FOR I = 1 TO 12 2120 X=52+I*8+Cl*3sA=Z(I) w 2130 Y = 94 - ((A - MIN) / (MAX - MIN)) * 80 w 2135 IF I > 1 THEN HCOLOR= CI: HPLOT TO X - i,y 2140 HPLOT X + 1,Y TO X + 1,Y + 1 TO X - 1, ^ Y + 1 TO X- 1,Y TO X,Y 2150 NEXT w 2160 RETURN .. 3000 REM PRINTS SMALL NUMBER IN A w 3010 REM (0-9). A=-2 PLOTS PERIOD 3020 IF A > 57 THEN RETURN 3030 IF A = - 2 THEN HPLOT GX + 1,GY + 5a RETURN 3040 CS* = NS* AT GX,GY. ND 3520 REM CLIPS STRING TO GIVEN LENGTH 3530 REM SET ND=255 IF YOU DON'T USE IT 3540 MSG* = LEFT* ( STR* < ABS (N)),ND) 3550 X2 = GXaGX = GX * 5 * SC 3560 FOR I = 1 TO LEN 3570 A = ASC ( MID* ) - 46 3560 GOSUB 3000aGX = GX + 5 * SC 3590 NEXT sGX = X2 3600 RETURN 20000 REM LOADS CS* WITH LETTERS 20005 RESTORE 20010 FOR I = O TO 26a READ CS*(I)8 NEXT 20011 FOR I = 0 TO 9a READ NS*(I)a NEXT 20012 RETURN 20015 DATA 0050//0151//0252//0353//0454//0 555 20020 DATA 05005055//0353 20030 DATA 33300005555303 20040 DATA 50000555 20050 DATA 533000055553 20060 DATA 50000555//0333 20070 DATA 050050//0333 20080 DATA 500005555333 20090 DATA 0005//5055//0353 20100 DATA 0050//0555//3035 20110 DATA 053530//0050 20120 DATA 0005//0350//0355 20130 DATA 000555 20140 DATA 05005055//3033 20150 DATA 050030355550 20160 DATA 0050550500 20170 DATA 0500505303 20180 DATA 0050550500//3355 20185 DATA 050030335355//0333 20190 DATA 500003535505 20200 DATA 0050//3035 20210 DATA 00055550 20220 DATA 000333355550 20230 DATA 00055550//3533

89 20240 DATA 0055//5005 20250 DATA 00035350//3335 20260 DATA 00500555 20270 REM NUMBERS 0-9 20280 DATA 0030350500,3035,003033030535,00 30333505//3303,00033335//3033,300003333 505,300005353303,003035,003035050333//0 003,3530000333

90

#

#

m

^ ^

„ Electric Usage Estimator

As electric rates continue to rise, it is important to understand how much electricity each of our electrical appliances uses so that we can better manage our personal resources. This program will allow you to make a quick estimate of the cost you incureach year from each appliance,based upon your current (or projected)utility rate. The program will alsosum these costsby appliancegroup and calculate a grand total for all appliances. The data used in this program are the watts and kilowatt- hours for each appliance. (I have added several appliances to the list based upon my usage.)The wattage of each appliance is easily obtained by reading the specification plate on the appliance (it usually gives the wattage or the amperage). Otherwise, you can measure the amperage with an amp meter and multiply that by the voltage to get watts. However, it is more difficult to determine the number of hours per year that an applianceruns in order to calculate the kilowatt-hours. Some appliances — such as television sets, radios, washing machines, etc. — are turned on and off, so you can make an estimate of the number of hours the appliance is in use. Refrigeratorsand freezers are a notable exception, however, since the on/off cycle is dictated by a thermostat. Because of this, we are restricted to using the published figures for an average household for these items. The data in the program are organized according to the appliance name, followedby the average watts and kilowatt hours. The average watts are not used by the program, but are included so that the user can modify the watts or the number of hours the appliance is operated per year (and thereby modify the number of kilowatt-hours). Each of the seven appliance groups is separated in the data statements by a xxx (followed by two zeros). When this condition is met, the cost of that appliance group (SK) is printed, is reset to zero, and another group is processed. After the seventh group is printed, the total cost for all appliances is printed. Organizing the program and DATA statements in this way allows

93 the user to add to or delete items from each of the seven groups without having to reset counters for each appliance group. Two significant electricalusage itemsare omitted from the program: central air conditioningand lighting. Lighting costs are highly variabledueto the situation and people involved, and air conditioning isa function ofthe regionas well as ofthe personal taste of the homeowner.

Reference Hart, G. K., and the Editorsof U. S. News &WorldReport Books. Howto Cut Your Energy Costs, A Guide to Major Savings at Home andon the Road. Washington, D. C: U. S.News &World Report Books, 1978.

Sample Run.

ELECTRIC USAGE ESTIMATOR

ELECTRICITY COST IN CENTS/KWH (E.G., 5.14)= ? 6.55

RESPOND WITH NUMBER OF APPLIANCES USED IN HOME

FOOD PREPARATION APPLIANCES BLENDER? 1 ANNUAL COST • 40.06 BROILER? O

CARVING KNIFE? O

COFFEE MAKER? 1 ANNUAL COST = 46.94 DEEPFRYER? 1 ANNUAL COST = 45.43 DISHWASHER? 1 ANNUAL COST = 423.77 EGG COOKER? O

FRYING PAN? 1 ANNUAL COST = 46.55 HOT PLATE? O

MIXER? 1 ANNUAL COST - 40.13 MICROWAVE OVEN? 1 ANNUAL COST » 412.44 OVEN? 1 ANNUAL COST » 478.92 ROASTER? O

SANDWICH GRILL? O

TOASTER? 1 ANNUAL COST - 42.55 TRASH COMPACTOR? O

94 WAFFLE IRON? 1 ANNUAL COST - 41.31 DISPOSAL? 1 ANNUAL COST - 40.45

COST OF FOOD PREPARATION APPLIANCES PER YEAR « 4138.59

FOOD PRESERVATION APPLIANCES FREEZER(MANUAL DEFROST)? O

FREEZER(AUTO DEFROST)? 1 ANNUAL COST • 4128.7 REFRIGERATOR/FREEZER(AUTO DEFROST)? 1 ANNUAL COST = 4117.57 REFRIGERATOR/FREEZER(MANUAL DEFROST)? 0

COST OF FOOD PRESERVATION APPLIANCES PER YEAR - 4246.28

LAUNDRY APPLIANCES CLOTHES DRYER? 1 ANNUAL COST = 465.04 HAND IRON? 1 ANNUAL COST - 43.93 WASHING MACHINE? 1 ANNUAL COST = 46.74 ELECTRIC WATER HEATER? O

QUICK RECOVERY ELECTRIC WATER HEATER? O

COST OF LAUNDRY APPLIANCES PER YEAR « 475.71

AIR CONDITIONING APPLIANCES AIR CLEANER? O

ROOM AIRCONDITIONER? O

ELECTRIC BLANKET? 0

DEHUMIDIFIER? O

ATTIC FAN? 1 ANNUAL COST » 419.06 CIRCULATING FAN? 0

ROLLAWAY FAN? O

CEILING FAN? 1 ANNUAL COST « 42.62 FAN(WINDOW)? O

HEATER(PORTABLE)? O

HEATING PAD? O

HUMIDIFIER? O

95 4

COST OF AIR CONDITIONING APPLIANCES PER YEAR - 421.66

HEALTH 8c BEAUTY APPLIANCES GERMICIDAL LAMP? O

HAIRDRYER? 2 ANNUAL COST - 41.63 INFRARED HEAT LAMP? O

SHAVER? O

BUNLAMP? O

ELECTRIC TOOTHBRUSH? O

VIBRATOR? 1 ANNUAL COST » 40.13

COBT OF HEALTH 8c BEAUTY APPLIANCES PER YEAR - 41.96

HOME ENTERTAINMENT APPLIANCES RADIO? 2 ANNUAL COST - 411.26 RADIO-RECORD PLAYER? 2 ANNUAL COST - 414.27 MICROCOMPUTER? 2 ANNUAL COST - 49.17 B 8c W TV (SOLID STATE)? 2 ANNUAL COST - 413.1 B 8c W (TUBE TYPE)? O

COLOR TV (TUBE TYPE)? O

COLOR TV (SOLID STATE)? 2 ANNUAL COST - 413.1

COST OF HOC ENTERTAINMENT APPLIANCES PER YEAR - 460.91

HOUSEWARES APPLIANCES CLOCK? 4 ANNUAL COST - 44.45 FLOOR POLISHER? O

SEWING MACHINE? 1 ANNUAL COST - 40.72 VACUUM CLEANER? 2 ANNUAL COST « 46.02

COST OF HOUSEWARES APPLIANCES PER YEAR » 411.2

TOTAL ANNUAL APPLIANCE COST - 4556.35

96 C i i i C ( I i i C ( i i i i C (' C ( C (' C (' C ( C I ( (( f" f ( i

Program 1. OSI Version. 10 deffna=int/ioo:rem electric usage estimator 30 fori=ito2o:print:next 40 printtab< 20 ^"electric usage estimator"jgosub450 50 input'tlectricity cost in cents/kwh*G*J" APPLIANCES" 90 READA*,W,K:iFASC0THENSK=SK+K*N}PRINTTAB(25) $"ANNUAL COST* *"JFNA(C*K*N)tGOTO90 120 PRINT:GOT090 130 GOSUB450!PRINT"COST OF ";G«*" APPLIANCES PER YEAR • *"?FNA©HZHOHO5*:H© > c c r c -v i C 3- - 73 7*- ZHZ 50 r z- x x x > x co r 1 ro ©HHviHm©ozc»TOHm5o n > m - !• 3> h m > | o^rn - otjo- z o 3:0 /fS^ O ZZZ 73 2> Z 1 ojrirAAa)-jiiii>£j - 5ino3>r Tizzin on i ♦oontD^ofnTJOvzwrTicno c c o c m i TO Z O C O- O > X- - - vi >- m x h 0k TO !• 3> * TO C- 7Jni7:C!Jr»HHH^NNOZ«»HI i> r r u en i H 7?- TO H 3> X OCflOo - 7: 0 -< z m n Z X -4 Z z - n 0 0 co r h - © - wm- m en 0k i x x 3> o to it HCh- H H50!D'O»-*- ^OHNfrl* z z h c: o a> i ♦♦WK^WOC2>OKO i-*- i-*r oio tjontjh i en to r- vi - i-* e>* n k* t» 0k O XXH 50 C "T| en en cd o x- xo O VI - O M -< to to * -< h -& to ~ h m - wrc^ H Vj 33 H- m 0>\ Noon z co^r- m o h* o! > x x 73- O 50 h» 7? t? 3? o m h 3> 7?- on~o* ©xhto O h* O H O- o C 20 XH ZX O -fe- 50 i-- TO 0 ^ c -& x o e*3 -& /7? m h X 50 © -fc O- h*- HH r vj - en o !• r en -< 05 x - cn h* eo m to m >- ^rmoi c o r \ m c- - TO CJI - TO - - © H 50 noH^ro^ 0k T? X h* a> en ©ow»-*rcen- m ~ h m 73 h m- en > o 7? m t?: - rCDo>HlH»TJ z x 0 m 0 to © a? h oh- © -< oo :> -&- 0 m C O 50 h en 0- m 50 c h* h* 73 XZ 73 CO "mir ♦ x z x 0 w 73 > m- vi h •n h 0 x h- ^^\ r h m w z mr * h»in> a> 0 h m 0 x 2> H ^ -< c 73 O 9* >•* O- !^- W ZHH 7> 2> TO T> Z i> i> -50 os^HHr - -n H H z z sgtt>\ Tzn Tior w z >o- eji 50 c* m ODHOm^O r o m to m OH - -fc- O e«3 ^ CO m Z 73 H UICHKOO^ - - 50 rn - rn h /!*\ h m en r hx > h m z <•> <:©-♦-< m- -fe- 50 -fe 50 50 Z Q »• 7? X h* ~ >o nj cn m eo 03 N- ^ O 0k n a? Z X- CJI en ~ --- 50 M - UiGDNZZ m o O H - 0 h x x cn - n 7? vi o> ^ m- en c m z z wr en x cw - O - ^ - J> H* 0k U h n TO H TO O XZ (B h* r w- 4»-ik HZ# i z 0 m 50- r »-* vi r vj co 00 to 0 en > > VI (S ^ 50 O 0I\ a 1 z en h 1 - x m. Z O M-- - c to 1 O H -< O 0 1? -fc > - n) e^ en 1 > to 0 - -< X ± O 0k m i> 1 X H TO X N X vi O 13 1 >rnv5 ni -n x cn 0$k to 1 n ~- c >o 3^ — *• i> r 1 X - ••* H - Z O -fc. ZH 1 h h* 0 m h* - N) 0^ O T> 1 Z -fc O 73 CK I-* O M- Z 1 m w- - VI >o n 1 - - M •* »-fc 0k m 1 N 1^ IN) CD ^» en 1 cn 0 0 0 K* 0% 1 — 0 — CD ! I-* S| ao 1 I-* O 0k

0k

0k '—y Program 2. VIC Version.

5 REM ELECTRIC USAGE ESTIMATOR VIC VERSION 10 DEF FNA(X)=INT(X*100)/100:DEF FNP1(A)=L-LE N(STR$(A))+l 30 L=18:PRINT"ELECTRC USAGE ESTIMATR":GOSUB46 0 50 PRINTMELECTRICITY COST IN":PRINT"CENTS/KWH (E.G. 5.14)=":INPUTC:PRINT" {CLEAR}" 60 PRINT"RESPOND WITH NUMBER OFAPPLIANCES USE D IN HOME" 70 C=C/100:FORI=1TO7:READQ$(I):NEXT:GOSUB460 80 SW=0:FORJ=lTO7:SK=0:PRINTQ$(j):PRINT" A PPLIANCES":PRINTTAB(l5);"COST" 90 READA$,W,K:IFASC(A$)=42ANDK=0THEN125 100 N=0:PRINTA$;:INPUTN 110 V=FNA(C*K*N):X=V:IFN>0THENSK=SK+K*N:GOSUB4 50:PRINT"$";X:GOTO90 120 PRINT:GOTO90 125 PRINTTAB(8);I,WAIT,,:FORX=1TO2000:NEXT 130 GOSUB460:PRINT"COST OF ";Q$(j);" APPLIANCE S PER YEAR = ":PRINT"?";FNA(C*SK) 140 GOSUB460:SW=SW+SK:NEXT:GOSUB460 150 PRINT"TOTAL ANNUAL APPLIANCE COST= ";FNA(S W*C):END 160 DATA FOOD PREPARATION,FOOD PRESERVATION,LA UNDRY,AIR CONDITIONING 170 DATAHEALTH & BEAUTY,HOME ENTERTAINMENT,HOU SEWARES 180 DATABLENDER,300,1,BROILER,1140,85,CARVING * KNIFE,92,8 190 DATACOFFEE MAKER,894,106,DEEP FRYER,1448,8 3,DISHWASHER,1201,363 200 DATAEGG COOKER,516,14,FRYING PAN,1196,100, HOT PLATE,1200,90 210 DATAMIXER,127,2,MICROWAVE OVEN,1450,190,OV EN,12200,1205 220 DATAROASTER,1333,60,SANDWICH GRILL,1161,33 ,TOASTER,1146,39 2 30 DATATRASH COMPACTOR,400,50,WAFFLE IRON,120 0,20,DISPOSAL,445,7 240 DATA***,0,0 250 DATAFREEZER(MAN DEFROST),480,1320,FREEZER( AUTODEFROST),480,1965 260 DATAREFRIGFREEZR-AUTODEF,540,1795

99 270 DATAREFRIG/FREEZR-MANDEF,540,700 280 DATA***,0,0,CLOTHES DRYER,4856,993,HAND IR ON,1100,60 290 DATAWASHING MACHINE, 512 ,103 ,ELEC WATER HEA TER,2475,4219 300 DATAQUICK REC WATR HEATR,4474,4811,***, 0,0

310 DATAAIR CLEANER,50,216,ROOM AIRCONDITIONER ,860,860 320 DATAELECTRIC BLANKET,177,147,DEHUMIDIFIER, 257 377 330 DATAATTIC FAN,370,291,CIRCULATING FAN,88,4 3,ROLLAWAY FAN,171,138 340 DATACEILING FAN,70,40 350 DATAFAN(WINDOW),200,170,HEATER(PORTABLE),1 322,176 360 DATAHEATING PAD,65,10,HUMIDIFIER,177,163 370 DATA***,0,0,GERMICIDAL LAMP,20,141,HAIRDRY ER,381,14 380 DATAINFRARED HEAT LAMP,250,13,SHAVER,15,0. 5,SUNLAMP,279,16 390 DATAELECTRIC TOOTHBRUSH,1.1,1,VIBRATOR,40, 2 *** 0 0 400 DATARADIO,71,86,RADIO-RECORD PLAYER,109,10 9,MICROCOMPUTER,180,70 410 DATAB&W TV(SOLID STATE),45,100,B&W TV(TUB TYPE),100,220 420 DATACOLOR TV(TUBE TYPE),240,528,COLOR TV(S OLID STATE,145,100 430 DATA***,0,0,CLOCK,2,17,FLOOR POLISHER,305, 15,SEWING MACHINE,7 5,11 440 DATAVACUUM CLEANER,630,46,***,0,0 450 V=FNP1(V):PRINTTAB(V);:RETURN 460 PRINT" ": RETURN

Program 3. Microsoft Version.

5 REM ELECTRIC USAGE ESTIMATOR 10 DEF FNA(X)=INT(X*100)/100 30 L=18:PRINT"{CLEAR} ELECTRC USAGE ES TIMATOR":GOSUB460 50 PRINT"ELECTRICITY COST IN":INPUT"CENTS/KWH (E.G. 5.14)=";C:PRINT"" 60 PRINT"RESPOND WITH NUMBER OF APPLIANCES US

100 ED{RIGHT} IN HOME" 70 C=C/100:F0RI=1T07:READQ$(I):NEXT:GOSUB460 80 SW=0:FORJ=1TO7:SK=0:PRINTQ$(J);" APPLIANCE S"; :PRINTTAB(30);"COST":GOSUB460 90 READA$,W,K:IFASC(A$)=42ANDK=0THEN125 100 N=0:PRINTA?;:INPUTN 110 V=FNA(C*K*N):X=V:IFN>0THENSK=SK+K*N:GOSUB4 50:PRINT"{UP}$";X:GOTO90 120 PRINT:GOTO90 125 PRINTTAB(16);"WAIT":FORX=1TO2000:NEXT 130 PRINT"{CLEAR}":GOSUB460:PRINT"COST OF ";Q§ (J);" APPLIANCES PER YEAR = ":PRINT"? ";FNA(C*SK) 140 GOSUB460:SW=SW+SK:NEXT:GOSUB460 150 PRINT"TOTAL ANNUAL APPLIANCE COST= ";FNA(S W*C):END 160 DATA FOOD PREPARATION,FOOD PRESERVATION,LA UNDRY,AIR CONDITIONING 170 DATAHEALTH & BEAUTY,HOME ENTERTAINMENT,HOU SEWARES 180 DATABLENDER,300,1,BROILER,1140,85,CARVING * KNIFE,92,8 190 DATACOFFEE MAKER,894,106,DEEP FRYER,1448,8 3,DISHWASHER,1201,363 200 DATAEGG COOKER,516,14,FRYING PAN,1196,100, HOT PLATE,1200,90 210 DATAMIXER,127,2,MICROWAVE OVEN,1450,190,OV EN,12200,1205 220 DATAROASTER,1333,60,SANDWICH GRILL,1161,33 ,TOASTER,1146,39 230 DATATRASH COMPACTOR,400,50,WAFFLE IRON, 120 0,20,DISPOSAL,445,7 240 DATA***,0,0 250 DATAFREEZER(MAN DEFROST),480,1320,FREEZER( AUTODEFROST),480,1965 260 DATAREFRIGFREEZR-AUTODEF,540,1795 270 DATAREFRIG/FREEZR-MANDEF,540,700 280 DATA***,0,0,CLOTHES DRYER,4856,993,HAND IR ON,1100,60 290 DATAWASHING MACHINE,512,103,ELEC WATER HEA TER,2475,4219 300 DATAQUICK REC WATR HEATR,4474,4811,***,0,0

310 DATAAIR CLEANER, 50, 216, ROOM AIR CONDITIONE R,860,860

101 320 DATAELECTRIC BLANKET, 177 ,147 ,DEHUMIDIFIER, 257,377 330 DATAATTIC FAN,370,291,CIRCULATING FAN,88,4 3,R0LLAWAY FAN,171,138 340 DATACEILING FAN,70,40 350 DATAFAN(WINDOW),200,170,HEATER(PORTABLE),1 322,176 360 DATAHEATING PAD,65,10,HUMIDIFIER,177,163 370 DATA***,0,0,GERMICIDAL LAMP,20,141,HAIRDRY ER,381,14 380 DATAINFRARED HEAT LAMP, 250,13 ,SHAVER, 15 ,0 . 5,SUNLAMP,279,16 390 DATAELECTRIC TOOTHBRUSH,1.1,1,VIBRATOR,40, 2,***,0,0 400 DATARADIO,71,86,RADIO-RECORD PLAYER,109,10 9,MICROCOMPUTER,180,70 410 DATAB&W TV(SOLID STATE),45,100,B&W TV(TUB TYPE),100,220 420 DATACOLOR TV(TUBE TYPE),240,528,COLOR TV(S OLID STATE,145,100 430 DATA***,0,0,CLOCK,2,17,FLOOR POLISHER,305, 15,SEWING MACHINE,75,11 440 DATAVACUUM CLEANER,630,46,***,0,0 450 PRINTTAB(30);:RETURN 460 PRINT" ":RETURN

Program 4. Atari Version. 5 REM ** ELECTRIC USAGE ESTIMATOR ** 8 REM *** ATARI VERSION *** lO DIM Q$(20*8)5QL(7),TT$(40),A$(40) 20 ? CHR*<125> 30 POKE 85,4:? "la!Brfi*irM»»ljsl:M=»=fr**«f:! DEE":GOSUB 430 40 ? "ELECTRICITY COST IN CENTS/KWH": ? "=TT*:QL=LEN(TT* ):NEXT I 70 SW=C:FOR J=l TO 7:SK=0:P0KE 85,5:?

102 Q*(J*20+1,J*20+QL(J));" APPLIANCE S" 80 ? :READ A*,W,K:IF ASC(A*)=42 AND K =0 THEN 120 90 TRAP 90s? A*;:INPUT NsTRAP 40000 lOO IF N>0 THEN SK=SK+K*Ns? I I I I• I HB ESEB*" ; 105 IF N>0 THEN TT=C*K*N:PRINT INT(TT *100)/100:G0T0 80 110 ? sGOTO 80 120 GOSUB 430s? "COST OF ";Q*s? "APPLIANCES PER YEA R = *" ; 125 TT=INT(C*SK*100)/lOOsPRINT TT 130 GOSUB 430:SW=SW+SK:NEXT JsGOSUB 4 30 140 PRINT "TOTAL ANNUAL APPLIANCE COS T= *";INT(SW*C*100)/lOOsEND 150 DATA FOOD PREPARATION,FOOD PRESER VATION,LAUNDRY,AIR CONDITIONING 160 DATA HEALTH 8c BEAUTY, HOME ENTERTA INMENT,HOUSEWARES 170 DATA BLENDER,300,1,BROILER,1140,8 5,CARVING KNIFE,92,8 180 DATA COFFEE MAKER,894,107,DEEPFRY ER,1448,83,DISHWASHER,1201,363 190 DATA EGG COOKER,516,14.FRYING PAN ,1196,100,HOT PLATE,1200,90 200 DATA MIXER,127,2,MICROWAVE 0VEN,1 450,190,OVEN,12200,1205 210 DATA ROASTER,1333,60,SANDWICH GRI LL,1161,33,TOASTER,1146,39 220 DATA TRASH COMPACTOR,400,50,WAFFL E IRON,1200,20,DISPOSAL,445,7 230 DATA ***,0,0 240 DATA FREEZER(MANUAL DEFROST),480, 1320,FREEZER(AUT0 DEFROST),480,19 65 250 DATA REFRIGERATOR/FREEZER(AUTO DE FROST),540,1795 260 DATA REFRIGERATOR/FREEZER(MANUAL DEFROST),540,700

103 270 DATA ***,0,0,CLOTHES DRYER,4856,9 93,HAND IRON,1100,60 280 DATA WASHING MACHINE,512,103,ELEC TRIC WATER HEATER,2475,4219 290 DATA QUICK RECOVERY ELECTRIC WATE R HEATER,4474,4811,***,0,0 300 DATA AIR CLEANER,50,216,ROOM AIRC ONDITIONER,860,860 310 DATA ELECTRIC BLANKET,177,147,DEH UMIDIFIER,257,377 320 DATA ATTIC FAN,370,291,CIRCULATIN G FAN,88,43,R0LLAWAY FAN,171,138 325 DATA CEILING FAN,70,40 330 DATA FAN(WINDOW),200,170,HEATER(P ORTABLE),1322,176 340 DATA HEATING PAD,65,10,HUMIDIFIER ,177,163 350 DATA ***,0,0,GERMICIDAL LAMP,20,1 41,HAIRDRYER,381,14 360 DATA INFRARED HEAT LAMP,250,13,SH AVER,15,O.5,SUNLAMP,279,16 370 DATA ELECTRIC TOOTHBRUSH,1.1,1,VI BRAT0R,40,2,**»,0,0 380 DATA RADIO,71,86,RADIO-RECORD PLA YER,109,109,MICROCOMPUTER,180,70 390 DATA B 8c W TV (SOLID STATE),45, 10 0,B 8c W (TUBE TYPE), 100, 220 400 DATA COLOR TV (TUBE TYPE),240,528 ,COLOR TV (SOLID STATE),145,lOO 410 DATA ***,0,0,CLOCK,2,17,FLOOR POL ISHER,305,15,SEWING MACHINE,75,11 420 DATA VACUUM CLEANER,630,46,**»,O, O 430 ? s? "

440 RETURN 450 PRINT sPRINT sRETURN 460 REM THE NUMBER OF HOURS PER YEAR 480 REM A*=APPLIANCE, W=AVG WATTS, K= ANNUAL KWH, N=# OF APPLIANCES 490 REM K MAY BE ADJUSTED BY THE USER BY DETERMINING

104 500 REM THE NUMBER OF HOURS PER YEAR THE APPLIANCE IS USED AND 510 REM CALCULATING K=WATTS*HOURS/lOO 520 REM SW=SUM ANNUAL KWH FOR ALL APP LIANCES 530 REM SK=SUM ANNUAL KWH FOR EACH AP PLIANCE GROUP 540 REM Q*=NAME OF EACH OF 7 GROUPS O F APPLIANCES

Program 5. Color ComputerVersion. 5 REM ELECTRIC USAGE ESTIMATOR COLOR COMPUT ER VERSION 10 DEFFNA(X)=INT(X*100)/l00:REM ELECTRIC USAG E ESTIMATOR 20 CLS 30 PRINTTAB(4)"ELECTRIC USAGE ESTIMATOR":GOSU B430 40 INPUT"ELECTRICITY COST IN CENTS/KWH (E.G . 5.14)= ";C:GOSUB430 50 GOSUB430:PRINTMRESPOND WITH NUMBER OF APPLIANCES USED IN HOME" 60 C=C/100:GOSUB430:FORI=lT07:READQ$(I):NEXT: GOSUB430 70 SW=0:FORJ=1TO7:SK=0:PRINT:PRINTTAB(10);Q$( I);" APPLIANCES" 80 PRINT:READA$,W,K:IFASC(A$)=42ANDK=0THEN120

90 PRINTA?;:INPUTN 100 IFN>0THENSK=SK+K*N:PRINTTAB(10)"ANNUAL COS T= "• 105 PRINTUSING"$####.##";FNA(C*K*N):GOTO80 110 PRINT:GOTO80 120 GOSUB430:PRINT"COST OF ";Q$(J);" APPLIANCE S PER YEAR = "• 125 PRINTUSING"$####.##";FNA(C*SK) 130 GOSUB430:SW=SW+SK:NEXT:GOSUB430 140 PRINT"TOTAL ANNUAL APPLIANCE COST = ";:P RINTUSING"$####.##";FNA(SW*C):END 150 DATAFOOD PREPARATION,FOOD PRESERVATION,LAU NDRY,AIR CONDITIONING 160 DATAHEALTH & BEAUTY,HOME ENTERTAINMENT,HOU

105 SEWARES 170 DATABLENDER,300,1,BROILER,1140,85,CARVING * KNIFE,92,8 180 DATACOFFEE MAKER,894,107,DEEPFRYER,1448,83 ,DISHWASHER,1201,363 190 DATAEGG COOKER,516,14,FRYING PAN,1196,100, HOT PLATE,1200,90 200 DATAMIXER,127,2,MICROWAVE OVEN,1450,190,OV EN,12200,1205 210 DATAROASTER,1333,60,SANDWICH GRILL,1161,33 ,TOASTER,1146,39 2 20 DATATRASH COMPACTOR,400, 50,WAFFLE IRON, 120 0,20,DISPOSAL,445,7 230 DATA***,0,0 240 DATAFREEZER(MANUAL DEFROST),480,1320,FREEZ ER(AUTO DEFROST),480,1965 250 DATAREFRIGERATOR/FREEZER(AUTO DEFROST), 540 ,1795 260 DATAREFRIGERATOR/FREEZER( MANUAL DEFROST), 5 40,700 2 70 DATA***,0,0,CLOTHES DRYER,4856,993,HAND IR ON,1100,60 280 DATAWASHING MACHINE,512,103,ELECTRIC WATER HEATER,2475,4219 290 DATAQUICK RECOVERY ELECTRIC WATER HEATER,4 474,4811,***,0,0 300 DATAAIR CLEANER, 50, 216, ROOM AIR CONDITIONE R,860,860 310 DATAELECTRIC BLANKET,177,147,DEHUMIDIFIER, 257,377 320 DATAATTIC FAN,370,291,CIRCULATING FAN,^8,4 3,R0LLAWAY FAN,171,138 3 25 DATACEILING FAN,70,40 3 30 DATAFAN(WINDOW),200,170,HEATER(PORTABLE),1 322,176 340 DATAHEATING PAD,65,10,HUMIDIFIER,177,163 3 50 DATA***,0,0,GERMICIDAL LAMP,20,141,HAIRDRY ER,381,14 360 DATAINFRARED HEAT LAMP,250,13,SHAVER,15,0. 5,SUNLAMP,279,16 370 DATAELECTRIC TOOTHBRUSH,1.1,1,VIBRATOR,40, 2,***,0,0 380 DATARADIO,71,86,RADIO-RECORD PLAYER,109,10 9,MICRO-COMPUTER,180,70 390 DATAB &W TV (SOLID STATE),45,100,B & W (T

106 4

UBE TYPE),100,220 400 DATACOLOR TV (TUBE TYPE),240,528,COLOR TV ~ (SOLID STATE),145,100 410 DATA***,0,0,CLOCK,2,17,FLOOR POLISHER,305, 15,SEWING MACHINE,7 5,11 420 DATAVACUUM CLEANER,630,46,***, 0,0 430 PRINT:PRINT:RETURN 440 REM A$=APPLIANCE, W=AVG WATTS, K=ANNUAL KW H, N=# OF APPLIANCES 450 REM K MAY BE ADJUSTED BY THE USER BY DETER MINING 460 REM THE NUMBER OF HOURS PER YEAR THE APPLI ANCE IS USED AND 470 REM CALCULATING K=WATTS*HOURS/l000. 480 REM SK= SUM ANNUAL KWH

Program 6. TI-99 Version* 10 REM electric usage estimator, TI v ersi on 20 DEF FNA/100 30 CALL CLEAR 40 PRINT " electric usage estimator"

41 GOSUB 450 50 INPUT "electricity cost in cents/ kwh (e.g. 5.14)= ":C 51 GOSUB 450 60 PRINT "respond with number of {6 SPACES*appliances used in home" 70 C=C/100 71 FOR 1=1 TO 7 72 READ Q* 73 NEXT I 74 GOSUB 450 SO SW=0 81 FOR J=l TO 7 82 SK=0 83 PRINT Q*(J);" appliances " 85 PRINT TAB<17>;"annual cost" 90 READ A*,W,K 92 IF ASCCA*><>42 THEN lOO

107 ^/

95 IF K=0 THEN 130 100 PRINT A*; ^ 101 INPUT N ^ HO IF N<=0 THEN 114 111 SK=SK+K*N ^ 112 YY=FNA 113 PRINT TAB(20);"*";YY 114 GOTO 90 '•' 120 PRINT 121 GOTO 90 130 GOSUB 450 w 131 YY=FNA(C*SK> w 132 PRINT "cost of ";Q*(J>;" applianc esperyear=" w 135 PRINT "*";YY Mi£/ 140 GOSUB 450 141 SW= SW+ SK •' 142 NEXT J *vm? 143 GOSUB 450 148 YY=FNA(SW*C> ♦ 150 PRINT "total annual appliance sip/ €6 SPACES>cost = ";YY 152 END ^ 160 DATA food preparation,food preser vsp/ vation,1aundry,ai r condi ti oni ng 170 DATA health 8c beauty,home enterta i nment,housewares ^jJ 180 DATA blender,300,1,broiler,1140,8 5,carving knife,92,8 W 190 DATA coffee maker,894,106,deep fr 'yogs yer,1448,83,dishwasher,1201,363 200 DATA egg cooker,516,14,frying pan ,1196,100,hot plate,1200,90 vnp/ 210 DATA mixer,127,2,microwave oven,l 450,190,oven,12200,1205 ^

220 DATA roaster,1333,60,sandwich gri Vgp'1 11,1161,33,toaster,1146,39 230 DATA trash compactor,400,SO,waff1 W e iron,1200,20,disposal,445,7 ^ 240 DATA ***,0,0 250 DATA freezer (manual defrost),480 ^ ,1320,freezer (auto defrost),480, w

208 ^

Nip/ 1965 260 DATA refrigerator/freezer (auto d efrost),540,1795 270 DATA refrigerator/freezer (manual defrost),540,700 280 DATA ***,0,0,clothes dryer,4856,9 93,hand iron,1100,60 290 DATA washing machine,512,103,elec trie water heater,2475,4219 300 DATA quick recovery electric wate r heater,4474,4811,***, 0,0 310 DATA air c1eaner,50,216,room aire ondi ti oner,860,860 320 DATA electric blanket,177,147,deh umidifier,257,377 330 DATA attic fan,370,291,circulatin g fan,88,43,rol1 away fan, 171,138 340 DATA ceiling fan,70,40 350 DATA fan(window),200,170,heater(p ortable),1322,176 360 DATA heating pad,65,10,humidifier ,177,163 370 DATA ***,0,0,germicidal lamp,20,1 41,hairdryer,381,14 380 DATA infrared heat 1 amp,250,13,sh aver,15,0.5,sunlamp,279,16 390 DATA electric toothbrush,1.1,l,vi brator,40,2,***,0,0 400 DATA radio,71,86,radio-record pla yer,109,109,micro-computer,180,70 410 DATA b & w tv (solid state),45,10 0,b & w tv (tube type),100,220 420 DATA color tv (tube type),240,528 ,color tv (solid state),145,100 430 DATA ***,0,0,clock,2,17,floor pol isher,305,15,sewing machine,75,11 440 DATA vacuum c1eaner,630,46,***,0, 0 450 PRINT s 451 GOSUB 460s : s 452 RETURN

109 460 PRINT "

470 RETURN 480 REM a$=appliance, w=avg watts, k= annual kwh, n=# of appliances 490 REM k may be adjusted by the user by determining 500 REM the number of hours per year the appliance is used and 510 REM calculating k=wattsthours/lOO O. 520 REM sw=sum annual kwh for all app 1i ances 530 REM sk=sum annual kwh for each ap pliance group 540 REM q*= name of each of 7 groups of appliances

110

©

#

? Home Heating And Cooling Audit

Note:Forall computers exceptthe unexpanded VIC-20, add theDATA statementsin lines 2000-2995 (Program 7) toyour version of the heating auditprogram. AddtheDATA statements of lines2000-3000 (Program 14)toyourversion of thecooling auditprogram. Forthe VIC-20 add only DATA statements (from Programs 7and 14)forthe citiesnearestyourhome plus line2990 fortheheatingauditor line 2995 for the cooling audit.

Have you, like thousands of Americans, added insulation, storm windows, a setback thermostat, and caulking to improve the energy efficiency of your home? Other than the 15% energy credit you could claim on your taxes starting in 1979, it is difficult to know what savings you are achieving with these substantial investments of time and money. A colder than normal winter will cause increased fuel use for heating, which may or may not overshadow the energy savings by insulating. On the other hand, the winter of 1979-80 was so mild in most parts of the United States that it brought significant fuel savings for most homeowners whether they insulated or not. However, energy costs have increased so much in some areas and for some fuels that these consumers may not have achieved a monetary savings. The cost for heating or cooling a house is due to three things: 1) outside temperature 2) thermostat setting 3) insulation (including air infiltration) Only the last two are under your control. The most cost-effective action you can take is to raise the thermostat in the summer and lower the thermostat in winter. The next most effective is to increase the insulation. But even after you have done this, the fuel use will still be driven by the outside temperature. In order to compare the severity and predict fuel use, meteorologists have developed two concepts: 1) Heating degree day 2) Cooling degree day

113 Heating degree day is an estimate of the heating necessary in the winter, and cooling degree day is an estimate of the cooling necessary in the summer. Both are calculated from the maximum and minimum temperatures and summed each day to accumulate monthly and yearly totals. Heating degree days accumulate on days with an average temperature cooler than 65 °F, and cooling degree days accumulate on days with an average temperature warmer than 65°F. These data are recorded for several hundred stations in the United States and are available in "Local Climatological Data," a publication from the U. S. Dept. of Commerce, National Climatic Center, Federal Building, Asheville, NC28801. The concepts of the cooling and heating degree days have shown excellent correlation with fuel use in my residence (see Figures 1 and 2) both in heating and air conditioning on a month by month basis, and an even higher correlation for an entire season. This correlation prompted me to develop a BASIC program for calculating an energy use rate for one year and predicting energy use in the following years based on degree days. Using this technique, you can calculate energy fuel savings as well as economic savings, even though the weather, energy cost, and energy efficiency of your home are changing month by month and year by year. Each program requires less than 8Kand can be shortened considerably by selectively eliminating DATA statements to restrict the geographical coverage. Each program requires the homeowner to have records of fuel use and cost for two years or more. The programs can evaluate efficiency from the years 1974 through and including 1980. Any type of fuel can be used; just remember that the units you input will be the units calculated for the fuel savings. Similarly, the rate is given as cost/fuel units, and so is dependent upon the units you input. Changing fuels or changing residences invalidates the technique. The heating season is from October 1 to May 1, and the cooling season is from April 1 to November 1; seasons are made extra long in order to accommodate the wide range of climates in the United States. Because many fuels are used for other purposes such as hot water heating, home lighting, etc., the off season minimum usage is used to remove these factors from the seasonal weather effects. Thus the heating program requests the July fuel use, and the cooling program requests the January fuel use. Should a user live between cities, listed runs for all cities in that region will allow interpolation. Following are some key variables:

114 ST$= state CT$=city H(1,I) = degree days for 1974 for city I x = fuel use/degree days for base year H = predicted fuel use minus actual fuel used RATE(k) = cost/fuel unit F(k) = fuel unit D(k) = cost k = year MI = fuel used in minimum month The precision of this technique is good, but may predict only small savings or even loss in years when no energy conservation practices were in effect. This uncertainty is due to the variance between day and night temperatures, which is not always well represented by the mean temperature for the day. si f iso u O 3 E 125 500 Q ^Heating Degree Days ^SlOO 400 00 •3? 75 300 Q | * 50 200 3 '* /Natural Gas Used ^**^_ X o 25 -' 100 | ^^ ^^«w .... £ -- 0 Oct. Nov. Dec. Jan. Feb. March April May June July Figure 1. Heating Degree Days by Month for 1979-80 in Houston, TX and Natural Gas Used in the Author's Residence.

2400 Cooling Degree Days,- 2000 500 3 a • •xi> V Kilowatt Hours V X 1600 400 5-, / GO \ a^_ 200 J' .,•- 400 100 § #* 0 April May June July Aug. Sept. Oct. Nov. Dec. Jan. Figure 2. Cooling Degree Days by Month for 1979 in Houston, TX and Kilowatt Hours used in the Author's Residence.

115 Table 1♦ Sample Run Of Heating Fuel Audit.

HEATING FUEL AUDIT

STATE (DON'T ABBREVIATE)? TEXAS

THE WINTER OF 73-74 IS CALLED 74, CHOICES ARE 74 TO 80

STARTING YEAR? 78 LAST YEAR? 80

CHOICES OF INPUT ARE BY YEAR OR MONTH

BY YEAR (Y OR N)? Y

UNITS OF FUEL CAN BE ANYTHING: GALLONS, KWH, CUFT, ALL FUEL ENTRIES MUST BE THE SAME UNITS

YEAR= 78 FUEL USE FOR OCT 1 TO MAY 1? 650 COST(DOLLARS)? 205.05

YEAR= 79 FUEL USE FOR OCT 1 TO MAY 1? 526 COST(DOLLARS)? 182.7

YEAR= 80 FUEL USE FOR OCT 1 TO MAY 1? 318 COST(DOLLARS)? 120.6

FUEL USE FOR JULY? 10 STATE CITY

1 TEXAS BROWNSVILLE 2 TEXAS AMARILLO 3 TEXAS FORT WORTH 4 TEXAS HOUSTON

CHOOSE # OF CITY? 4

CHOSEN CITY= HOUSTON RATEdST YR)= .31

YEAR RATE FUEL SAVED DOLLARS SAVED 79 .34 15 5.51 80 .37 178 67.54

(+ = SAVINGS,- = LOSS)

116 Table 2* Sample Run Of Cooling Fuel Audit.

COOLING FUEL AUDIT

STATE (DON'T ABBREVIATE)? TEXAS

THE SUMMER OF 1974 IS CALLED 74, CHOICES ARE74 TO 80

STARTING YEAR? 78 LAST YEAR? 80

CHOICES OF INPUT ARE BY YEAR OR MONTH

BY YEAR (Y OR N)? Y

UNITS OF FUEL CAN BE ANYTHING: GALLONS, KWH, CUFT, 100 CUFT ALL FUEL ENTRIES MUST BE THE SAME UNITS

YEAR= 78 FUEL USE FOR APR 1 TO NOV 1? 10422 COST(DOLLARS)? 374.28

YEAR= 79 FUEL USE FOR APR 1 TO NOV 1? 9483 COST(DOLLARS)? 402.56

YEAR= 80 FUEL USE FOR APR 1 TO NOV 1? 10204 COST(DOLLARS)? 528.08

FUEL USE FOR JANUARY? 679

STATE CITY 1 TEXAS BROWNSVILLE 2 TEXAS AMARILLO 3 TEXAS FORT WORTH 4 TEXAS HOUSTON

CHOOSE # OF CITY? 4

CHOSEN CITY= HOUSTON RATE(1ST YR)= .03

YEAR RATE FUEL SAVED DOLLARS SAVED 79 .04 367 15.59 80 .05 734 37.99

(+ = SAVINGS,- = LOSS)

117 Program 1. OSI Version. ill 1 REM HEATING FUEL AUDIT 10 REM 11 REM PROGRAM REQUIRES HEATING FUEL USE(ANNUAL OR BY MONTH) 12 REM HEATING MONTHS ARE OCT 1 TO MAY 1, 2 YRS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND * SAVINGS 15 REM XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 17 DEFFNTRC =INT(Exl0 0)/10 0 20 PRINTTAB(12)?"YEAR BY YEAR HEATING CONSERVATION AUDIT"? PRINT?PRINT 22 GOSUB50 0?INPUT"STATE (DON'T ABBREVIATE)"?B* 23 FORI=lT07?READM*(I)? NEXT?PRINT 25 PRINT"THE WINTER OF 1973-74 IS CALLED 74, CHOICES ARE 74 TO 80" 27 PRINT:iNPUT"STARTING YEAR"?YS?INPUT"LAST YEAR"?YE?PRINT 30 L==YE-~YS+l{PRINT"CHOICES OF INPUT ARE BY YEAR OR MONTH": PRINT 40 INPUT"BY YEAR (Y OR N) " ?A*?IFASC (A*X>89THENU 0 0 41 PRINT?PRINT"UNITS OF FUEL CAN BE ANYTHING? GALLONS, KWH, CUFT, 10 0CUFT" 43 PRINT"ALL FUEL ENTRIES MUST BE THE SAME UNITS"?GOSUB50 0JPRINT 47 FORI=lTOL?PRINT"YEAR=* " JINK YS+I-1 > 48 PRINT'TUEL USE FOR OCT 1 TO MAY 1"??INPUTF(I)?INPUT"COSKDOLLARS)" ID (I) 90 GOSUB50 0?NEXT?GOTO20 0 100 FORI==1TOL?GOSUB500?PRINT"YEAR * " ?INK YSM--1) ?FORJ*=lT07 105 PRINT'TUEL USE FOR "?M*(J)??INPUTF?PRINT"COST FOR "?M*(J)?tINPUTD 110 F(I)=F(I)+F ? D(I)=D(I)+D ?NEXT ? NEXT 200 INPUT'TUEL USE FOR JULY" ?MI?I*=1

((((( U (( M t( (((((( M (( U ((( M (( < t I I I I f I i c It I i t i i I c i i i i i c c c < c

220 READST*,CT*(I),H(1,I),H(2,I),H(3,I),H(4,I),H(5,I),H(6,I),H(7,I) 230 IFLEFT* (ST$, 7) ==LEFT* (B*, 7) THENI=I+1 240 IFST$="END"THEN250 245 GOTO220 250 J=I-1?LL=Y5--74+l? PRINTTAB (15)?"STATE"?TAB(25)?"CITY" 255 F0RI=1T0J 260 PRINTTAB(10)?IiTAB(15)? B* ?TAB(25)iCT$(I)? NEXT 270 INPUT"CHOOSE * OF CITY"?I?PRINT?GOSUB500 X=(F(1)-7XMI)/H(LL,I)?RATE(1)==D(1)/F(1)?H=FNTRC(RATE(1)) 282280 PRINT"CHOSEN CITY= " ?CT*(I) ?TAB(37) ?"RATE( 1ST YEAR)==" ?TAB(58) ?H 285 PRINT ?PRINTTAB(5)?"YEAR"? 290 PRINTTAB(16)?"RATE"?TAB(25)?"FUEL SAVINGS"?TAB(42)?"SAVINGS (DOLLARS)" F0RK=2T0L 300 H»H(LL+K-1,I)XX+7XMI-F(K)?RATE(K)=D(K)/F(K)?C=HxRATE(K) 312 H=FNTRC(H)? RATE(K)=FNTRC(RATE(K))? C=FNTRC(C) 320 PRINTTAB(5)?INKYS+K-1)?TAB(15)JRATE(K)?TAB(28)?H?TAB(42)?C 340 NEXT ?PRINT ?GOSU850 0? PRINTTAB (20) ?"(+ == SAVINGS) (- = LOSS)"?GOTOI 500 PRINT" ' RETURN 1999 DATAOCTOBER,NOVEMBER,DECEMBER,JANUARY,FEBRUARY,MARCH,APRIL

(£> Ul Program 2. VICVersion. 1 REM HEATING FUEL AUDIT VIC VERSION 11 REM PROGRAM REQUIRES HEATING FUEL USE (ANN UAL OR BY MONTH) " 12 REM HEATING MONTHS ARE OCT 1 TO MAY 1, 2 Y RS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND $ SAVINGS 17 DEFFNTRC(E)=INT(E*100)/100 20 PRINT"{CLEAR} HEATING FUEL AUDIT{DOWN}" 22 PRINT"STATE (DON'T ":INPUT"ABBREVIATE)";B$

2 3 F0RI= 1T07:READM$(I) -.NEXT:PRINT 25 PRINT"THE WINTER OF 73-74 IS CALLED 74, CH OICES ARE 74 TO 80" 27 PRINT:INPUT"STARTING YEAR";YS:PRINT:INPUT" LAST YEAR";YE:PRINT 30 L=YE-YS+l:PRINT"CHOICES OF INPUT ARE BY Y EAR OR MONTH" 40 INPUT"BY YEAR (Y OR N)";A$:IFASC(A$)<>89TH EN100 41 PRINT"{CLEAR}UNITS OF FUEL CAN BE ANYTHIN G: GALLONS, KWH, CUFT, 100 CUFT" 43 PRINT"ALL FUEL ENTRIES MUST BE THE SAME UN ITS":GOSUB500:PRINT 47 FORI=lTOL:PRINT"YEAR= ";INT(YS+I-1) 48 PRINT"FUEL USE FOR OCT 1 TO":INPUT"MAY 1"; F(I):INPUT"COST(DOLLARS) ";D(I) 90 GOSUB500:NEXT:GOTO200 100 FORI=1TOL:GOSUB500:PRINT"YEAR = ";INT(YS+I -1):F0RJ=1T07 105 PRINT"FUEL USE FOR ";M$(J);:INPUTF:PRINT"C OST FOR ";M$(J);:INPUTD 110 F(I)=F(I)+F:D(I)=D(I)+D:NEXT:NEXT 200 PRINT"FUEL USE FOR":INPUT" JULY";MI:1=1 220 READST$,CT$(I),H(1,I),H(2,I),H(3,I),H(4,I) ,H(5,I),H(6,I),H(7,I) 230 IFLEFT$(ST$,7)=LEFT$(B$,7)THENI=I+1 240 IFST$="END"THEN250 245 GOTO220 250 PRINT"{CLEAR}":J=I-l:LL=YS-74+l:PRINT" S TATE";TAB(12);"CITY{DOWN}" 255 FORI=lTOJ 260 PRINTI;B$;TAB(10);CT$(I) :NEXT 270 PRINT"{DOWN}":INPUT"CHOOSE # OF CITY";I:PR INT:GOSUB500

120 280 X=(F(1)-7*MI)/H(LL,I):RATE(1)=D(1)/F(1):H= FNTRC(RATE(1)) 282 PRINT"{CLEARjCHOSEN CITY= ";CT$(I):PRINT"R ATE (1ST YR)= n;H 285 PRINT"{DOWN}YEAR RATE FUEL SAVED" 290 PRINT" SAVED ($)" 295 FORK=2TOL 300 H=H(LL+K-1,I)*X+7*MI-F(K):RATE(K)=D(K)/F(K ):C=H*RATE(K) 312 H=FNTRC(H):RATE(K)=FNTRC(RATE(K)):C=FNTRC( C) 320 PRINTINT(YS+K-1);TAB(4);RATE(K);TAB(9);INT (H);TAB(15);C 340 NEXT:PRINT:GOSUB500:PRINT"(+ = SAVINGS,- = LOSS)":GOT0255 5 00 PRINT" n:RETURN 1999 DATAOCT,NOV,DEC,JAN, FEB,MAR,APR

Program 3. Microsoft Version*

I REM HEATING FUEL AUDIT—ADD DATA LINES 2000 UP. II REM PROGRAM REQUIRES HEATING FUEL USE (ANN UAL OR BY MONTH)" 12 REM HEATING MONTHS ARE OCT 1 TO MAY 1, 2 Y RS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND $ SAVINGS 17 DEFFNTRC(E)=INT(E*100)/100 20 PRINT"{CLEAR}";TAB(9);"HEATING FUEL AUDIT{ 04 DOWN}" 22 INPUT"STATE (DON'T ABBREVIATE)";B$ 23 FORI=lT07:READM$(I):NEXT:PRINT 25 PRINT"THE WINTER OF 73-74 IS CALLED 74, CHOICES ARE 74 TO 80" 27 PRINT:INPUT"STARTING YEAR";YS:PRINT:INPUT" LAST YEAR";YE:PRINT 30 L=YE-YS+l:PRINT"CHOICES OF INPUT ARE BY Y EAR OR MONTH" 40 INPUT"BY YEAR (Y OR N)";A$:IFASC(A$)<>89TH EN100 41 PRINT"{CLEARjUNITS OF FUEL CAN BE ANYTHIN G: GALLONS, KWH, CUFT, 100 CUFT"

121 43 PRINT"ALL FUEL ENTRIES MUST BE THE SAME UN ITS":GOSUB500:PRINT 47 F0RI=1T0L:PRINT"YEAR= ";INT(YS+I-1) 48 INPUT"FUEL USE FOR OCT 1 TO MAY 1";F(I):IN PUT"COST(DOLLARS)";D(I) 90 GOSUB500:NEXT:GOTO200 100 FORI=1TOL:GOSUB500:PRINT"YEAR = ";INT(YS+I -1):F0RJ=1T07 105 PRINT"FUEL USE FOR ";M$(J);:INPUTF:PRINT"C OST FOR ";M$(J);:INPUTD 110 F(I)=F(I)+F:D(I)=D(I)+D:NEXT:NEXT 200 INPUT"FUEL USE FOR JULY";MI:1=1:PRINT"{CLE CLEAR}";TAB(17);"WAIT" 220 READST$,CT$(I),H(1,I),H(2,I),H(3,I),H(4,I) ,H(5,I),H(6,I),H(7,I) 230 IFLEFT$ (ST$,7)=LEFT$(B$,7)THENI =I+ 1 240 IFST$="END"THEN250 245 GOTO220 250 PRINT"{CLEAR}":J=I-l:LL=YS-74+l:PRINT" STATE";TAB(21);"CITY{DOWN}" 255 FORI=lTOJ 260 PRINTI;TAB(9);B$;TAB(20);CT$(I):NEXT 270 PRINT"{DOWN}":INPUT"CHOOSE # OF CITY";I:PR INT 280 X=(F(1)-7*MI)/H(LL,I):RATE(1)=D(1)/F(1):H= FNTRC(RATE(1)) 282 PRINT"{CLEAR}";TAB(9);"CHOSEN CITY= ";CT$( I) -.PRINTTAB(9) ;"RATE (1ST YR) = ";H 285 PRINT"{DOWN}YEAR RATE FUEL SAVED" 290 PRINT" SAVED ($)" 295 FORK=2TOL 300 H=H(LL+K-1,I)*X+7*MI-F(K):RATE(K)=D(K)/F(K ):C=H*RATE(K) 312 H=FNTRC(H):RATE(K)=FNTRC(RATE(K)):C=FNTRC( C) 320 PRINTINT(YS+K-I);TAB(7)jRATE(K)?TAB(18);IN T(H);TAB(29);C 340 NEXT:PRINT:GOSUB500:PRINT"(+ = SAVINGS,- = LOSS)":GOT0255 500 PRINT" ~": RETURN 1999 DATAOCT,NOV,DEC,JAN,FEB,MAR,APR

122 Program 4. Atari Version.

I REM HEATING FUEL AUDIT (ATARI VERBI ON) 5 DIM ML(7),CTL(20),F(20),D(20), RATE( 20),H(7520) lO DIM T*(20),B*(20),M*(8*20),A*(20), ST*(20),CT*(20*20),TT*(20) II REM PROGRAM REQUIRES HEATING FUEL USE(ANNUAL OR BY MONTH) 12 REM HEATING MONTHS ARE OCT 1 TO MA Y 1, 2 YRS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND * SAVINGS 15 REM ft*********************** 17 GRAPHICS O 20 PRINT "ESEEBEEHEHEEMISEDeCE" :? "BE ECadEESEOEiEIIBEOCEIlOB" : PR INT s PR I NT 22 GOSUB 500:PRINT "STATE (DON'T ABBR EVIATE)";:INPUT B* 23 FOR 1= 1 TO 7:READ TT*:M*(I*20+ l,I * 20+20)=TT*:ML(I)=LEN(TT«)sNEXT I:P RINT 25 PRINT "THE WINTER OF 1973-74 IS CA LLED 74, CHOICES ARE 74 TO 80" 27 PRINT :PRINT "STARTING YEAR";:INPU T YS:PRINT "LAST YEAR";:INPUT YE:P RINT 30 L=YE-YS+1:PRINT "CHOICES OF INPUT ARE BY YEAR OR MONTH":PRINT 40 PRINT "BY YEAR";: INPUT A*: IF A* ( 1 , DO"Y" THEN 100 41 PRINT :PRINT "UNITS OF FUEL CAN BE ANYTHING:":? "GALLONS, KWH, CUFT, lOOCUFT" 43 PRINT "ALL FUEL ENTRIES MUST BE":? "IN THE SAME UNITS":GOSUB 500:PRI NT 47 FOR 1=1 TO L:PRINT "YEAR= ";INT(YS + 1-1) 48 PRINT "FUEL USE FOR OCT 1 TO MAY 1 ";:INPUT T:F(I)=T:PRINT "COST(DOLL

123 ARS)";:INPUT T:D(I)=T 90 GOSUB 500:NEXT I:GOTO 200 lOO FOR 1=1 TO L:GOSUB 500:PRINT "YEA R= ";INT(YS+I-1):FOR J=l TO 7 105 PRINT "FUEL USE FOR ";M*(J*20+l,J *20+ML(J));sINPUT F:PRINT "COST"; :INPUT D HO F(I)=F(I)+F:D(I)=D(I)+D:NEXT J: NE XT I 200 PRINT "FUEL USE FOR JULY":INPUT M I: 1 = 1 220 READ ST*,TT*:CT*(I*20+1,1*20+20)= TT*:CTL(I)=LEN(TT*) 225 FOR K-l TO 7:READ T:H(K,I)=T:NEXT K 230 TRAP 240s IF ST*»B*(1,LEN(ST*)> TH EN I-I+l 240 TRAP 40000:IF ST*="END" THEN 250 245 GOTO 220 250 J=I-l:LL=YS-74+l:PRINT " <3 SPACES>STATEtl4 SPACES>CITY" 255 FOR 1=1 TO J 260 PRINT I;" ";B*;:POKE 85,22:? CT* (1*20+1,It20+CTL(I)):NEXT I 270 PRINT "CHOOSE # OF CITY";:INPUT I :PRINT :GOSUB 500 280 X=/F(K>:C=H*RATE(K> 312 H=INT(H*100)/100:RATE(K)=INT(RATE (K)tlOO)/100:C=INT(C*100)/lOO 320 PRINT " ";INT(YS+K-1);"€TAB> "?RA TE";H;""

124 —5

340 NEXT KsPRINT sGOSUB SOO:PRINT M<+ - SAVINGS)<- - LOSS)"sGOTO 255 500 PRINT " ... RETURN 1999 DATA OCTOBER,NOVEMBER,DECEMBER,J ANUARY,FEBRUARY,MARCH,APRIL

Program 5. Color Computer Version. I REM HEATING FUEL AUDIT 10 REM II REM PROGRAM REQUIRES HEATING FUEL USE(ANNU AL OR BY MONTH) 12 REM HEATING MONTHS ARE OCT 1 TO MAY 1, 2 Y RS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND $ SAVINGS 15 REM ************************* 17 DEFFNTRC(E)=INT(E*100)/100 20 PRINT"YEAR BY YEAR HEATING CONSERVATION AU DIT":PRINT:PRINT 22 GOSUB500:INPUT"STATE (DON'T ABBREVIATE)";B $ 23 F0RI=1T07:READM$(I):NEXT:PRINT 25 PRINT"THE WINTER OF 1973-74 IS CALLED 74, ~ CHOICES ARE 74 TO 80" 27 PRINT:INPUT"STARTING YEAR" ;YS:INPUT"LAST Y EAR";YE:PRINT 30 L=YE-YS+1:PRINT"CH0ICES OF INPUT ARE BY YE AR OR MONTH":PRINT 40 INPUT"BY YEAR";A$:IFLEFT$(A$,1)O"Y"THEN10 0 41 PRINT:PRINT"UNITS OF FUEL CAN BE ANYTHING: GALLONS, KWH, CUFT, 100CUFT" 4 3 PRINT"ALL FUEL ENTRIES MUST BE THE SAME UNITS":GOSUB500:PRINT 47 F0RI=1T0L:PRINT"YEAR= ";INT(YS+I-1) 48 PRINT"FUEL USE FOR OCT 1 TO MAY 1";:INPUTF (I):INPUT"COST(DOLLARS)";D(I) 90 GOSUB500:NEXT:GOTO200 100 FORI=1TOL:GOSUB500:PRINT"YEAR= ";INT(YS+I- 1):F0RJ=1T07 105 PRINT"FUEL USE FOR ";M$(J);INPUTF:PRINT"CO ST FOR ";M$(J);:INPUTD

125 110 F(I)=F(I)+F:D(I)=D(I)+D:NEXT:NEXT 200 INPUT"FUEL USE FOR JULY";MI:1=1 220 READST$,CT$(I),H(1,I),H(2,I) ,H(3,1),H(4,1) ,H(5,I),H(6,I),H(7,I) 230 IFLEFT$(ST$,7)=LEFT$(B$,7)THENI=I+1 240 IFST$="END"THEN250 245 GOTO220 250 J=I-l:LL=YS-74+l:PRINTTAB(3) ;"STATE C ITY" 255 FORI=lTOJ 260 PRINTI;" ";B$;" ";CT$(I):NEXT 270 INPUT"CHOOSE # OF CITY";I:PRINT:GOSUB500 280 X=(F(1)-7*MI)/H(LL,I):RATE(1)=D(1)/F(1):H= FNTRC(RATE(1)) 282 PRINT"CHOSEN CITY= ";CT$(I) :PRINT"RATE(1ST YEAR)="; H 285 PRINT:PRINT"YEAR RATE FUEL SAV. SAVINGS

n

295 FORK=2TOL 300 H=H(LL+K-l.I)*X+7*M.I-F(.KJ;RATEiK)=D(K)yF(K ):C=H*RATE(K) 312 H=FNTRC(H):RATE(K)=FNTRC(RATE(K)):C=FNTRC( C) 320 PRINTINT(YS+K-1);" ";RATE(K);n n;H;" n • c 340 NEXT:PRINT:GOSUB500:PRINT" (+ = SAVINGS) (- = LOSS)":GOT0255 500 PRINT" ":RET URN 1999 DATAOCTOBER,NOVEMBER,DECEMBER,JANUARY,FEBR UARY,MARCH,APRIL

Program 6. TI-99 Version. I REM heating fuel audit, TI version II REM program requires heating -fuel use (annual or by month) 12 REM heating months are oct 1 to m ay 1, 2 yrs or more required 13 REM output is fuel savings, and * savings{6 SPACES> 15 REM ******************* 17 CALL CLEAR

126 18 CALL SCREEN<9) 19 DEF TRC

22 GOSUB 500 23 INPUT "state (don't abbreviate)? " :B* 24 FOR 1=1 TO 7 25 READ M*(I) 27 NEXT I 29 PRINT 31 PRINT "the winter of 1973-74 is £4 SPACES>called 74, choices are 7 4 to80 ": : 35 INPUT "starting year? ":YS 37 INPUT "last year? ":YE 39 PRINT 41 L=YE-YS+1 42 PRINT "units of fuel can be {8 SPACES>anything: gallon, kwh, c uft, lOO cuff 43 PRINT "all furel entries must be th esane units": ::: 44 PRINT "choices of input are by yea ror month": : 47 INPUT "by year (y or n>? ": A* 49 IF (ASC(A*)<>89)*(ASC121)THE N 100 51 PRINT 57 GOSUB 500 59 PRINT 61 FOR 1=1 TO L 63 PRINT "year= ";INT(YS+I-1) 65 PRINT "fuel use for oct 1 to may 1

67 INPUT F(I) 69 INPUT "cost (dollars)? ":D(D 90 GOSUB 500 94 NEXT I 96 GOTO ISO 100 FOR 1=1 TO L 101 GOSUB 500

127 102 PRINT "year = ";INT(YS+I-i) w 104 FOR J=l TO 7 w 105 PRINT "fuel use for ";M*; 107 INPUT FF ^ 108 PRINT "cost for n;M$(J); Vfe/ 109 INPUT DD 110 F(I)=F(I)+FF ^

112 D ISO CALL CLEAR ^ 200 INPUT "fuel use for July? "sMI 201 CALL CLEAR ^

202 1=1 Vjgi> 220 READ ST*,CT*(I),H(i,I),H(2fI),H(3 ,I),H(4,I),H(5,I),H<6fI),H(7,I> w 230 IF SEG*SEG$(B$, 1,7)THE w N 240 235 1=1+1 ^ 240 IF ST*="end" THEN 250 w 245 GO TO 220 250 J=I-1 w 251 LL= YS-74«-l w 252 PRINT TAB<5) ;"state";TAB<15) ; "cit

255 FOR 1=1 TO J 260 PRINT I;TAB(5);B*;TAB(15);CT*(I) 265 NEXT I '*' 270 INPUT "choose # of city ":I ^ 272 CALL CLEAR 274 GOSUB 500 ^ 280 X=(F(1)-7*MI)/H(LL, I) w 281 RATE<1)=D(1)/F(l) 282 YY=TRC(RATE(1)) ^ 283 PRINT "chosen city= ";CT*(I) 284 PRINT "rate (1st year)= ";YY: : 290 PRINT "year";TAB(6);"rate";TAB(13 w ); "fuel ";TAB(2D ;"savings" 292 PRINT TAB(12);"savings";TAB(20);" (dollars)" w 295 FOR K=2 TO L 300 HH=H(LL+K-1,I)*X+7*MI-F(K) w

V|gs/ 302 RATE(K)=D(K)/F(K) 304 C=HH*RATE(K) 312 HH=TRC(HH) 314 RATE(K)=TRC(RATE(K) ) 316 C=TRC(C) 320 PRINT INT(YS+K-1);TAB(5);RATE(K); TAB(12);HH;TAB(21);C 340 NEXT K 342 PRINT 344 GOSUB 500 346 PRINT " (+ = savings) <- = loss)" 348 GOTO 255 500 PRINT "

502 RETURN 1999 DATA October,november,december,j anuary,february,march,apri1

Program 7. Heating Audit DATA Statements. 2000 DATATEXAS,BROWNSVILLE,418,520,518,974,800, 728,640 2010 DATATEXAS,AMARILLO,3389,4163,3484,4515,408 4,4540,4219 2020 DATATEXAS,FORT WORTH,1854,2281,1841,2967,2 941,2730,2375 2030 DATATEXAS,HOUSTON,1157,1190,1309,2276,2103 ,1711,1545 2032 DATAALABAMA,BIRMINGHAM,2138,2570,2527,3488 ,3295,2777,2766 2034 DATAALABAMA,MOBILE,1037,1365,1393,2400,220 6,1617,1608 2036 DATAALABAMA,MONTGOMERY,1643,1967,2119,3038 ,2403,1987,2028 2038 DATAARIZONA,FLAGSTAFF,6080,6740,6158,6032, 4882,6813,6100 2040 DATAARIZONA,PHOENIX,1093,1558,1089,1071,69 2,1428,1022 2042 DATAARIZONA,TUCSON,1652,2183,1453,1644,119 4,1840,1349 2044 DATAARKANSAS,LITTLEROCK,2645,3059,2763,359 0,3723,3528,3142 2046 DATACALIFORNIA,LOSANGELES,1232,1305,1160,9

129 69,705,1452,808 2048 DATACALIFORNIA,SANFRANCISCO,27 52,2918,2929 ,2594,1972,2774,2116 2050 DATACOLORADO,DENVER,5569,5826,5117,5258,48 82,5937,5333 2052 DATACONNECTICUTT,HARTFORD,5540,5890,5349,6 164,5711,6286,5569 2054 DATADELAWARE,WILMINGTON,3910,4676,4177,520 6,4980,4883,4364 2056 DATAFLORIDA,JACKSONVILLE,933,1168,1390,206 1,1791,1525,1406 2058 DATAFLORIDA,MIAMI,131,59,202,311,331,185,2 04 2060 DATAFLORIDA,TALLAHASSEE,1106,1547,1594,219 9,2166,1746,1692 2062 DATAGEORGIA,ATLANTA,2305,2873,2697,3834,32 98 2757 2737 2064 DATAGEORGIA,SAVANNAH,1274,1537,1735,2527,2 253,1751,1881 2066 DATAIDAHO,BOISE,4977,5318,5376,5715,4287,5 984,4792 2068 DATAIDAHO,POCATELLO,6387,6713,6252,6474,51 03,7109,5839 2070 DATAILLINOIS,CHICAGO,5634,6039,5135,6613,6 322,6686,5537 2072 DATAILLINOIS,SPRINGFIELD,4998,5433,4693,61 57,6057,6075,5308 2074 DATAINDIANA,EVANSVILLE,3873,4424,3960,5236 ,5113,4979,4676 2076 DATAINDIANA,FORTWAYNE,5660,6093,5198,6723, 6472,6271,6046 2078 DATAINDIANA,INDIANAPOLIS,4698,5477,4762,62 60,5698,5748,5484 2080 DATAIOWA,DESMOINES,5908,6468,5268,6418,660 6,7041,5827 2082 DATAIOWA,SIOUXCITY,6120,6924,5946,6961,702 0,7912,6263 2084 DATAKANSAS,TOPEKA,4873,5225,4408,5455,5556 ,6023,5045 2086 DATAKANSAS,WICHITA,4540,4820,4035,4702,485 5,5310,4620 2088 DATAKENTUCKY,LOUISVILLE,3697,4289,3694,501 6,4896,4583,4392 2090 DATALOUISIANA,BATONROUGE,1050,1458,1548,21 33,1996,1744,1762 2092 DATALOUISIANA,NEWORLEANS,9 31,1295,1430,205

130 7,1860,1453,1447 2094 DATAMAINE,CARIBOU,8980,9024,8947,9140,8152 ,8638,7860 2096 DATAMAINE,PORTLAND,6472,6747,6709,7492,660 0,7040,6427 2098 DATAMARYLAND,BALTIMORE,4241,4264,3857,4940 ,4542,4508,4271 2100 DATAMASSACHUSETTS,BOSTON,4998,5230,4620,54 92,4963,5425,5017 2102 DATAMICHIGAN,DETROIT,5923,6375,5583,6754,6 408,6538,6088 2104 DATAMICHIGAN,GRANDRAPIDS,6338,6987,5933,71 67,6605,6944,5898 2106 DATAMICHIGAN,SAULST,MARIE,8576,8602,8079,9 047,8245,8848,8021 2108 DATAMINNESOTA,DULUTH,9292,9435,8662,9310,8 657,9577,8351 2110 DATAMINNESOTA,INT.FALLS,9844,9755,9435,100 44,9858,10745,9442 2112 DATAMINNESOTA,MINNEAPOLIS,7560,7969,6785,7 800,7789,8132,7140 2114 DATAMISSISSIPPI,JACKSON,1746,2066,2058,296 1,2881,2451,2568 2116 DATAMISSOURI,KANSASCITY,4775,5407,4401,555 0,5671,5811,5106 2118 DATAMISSOURI,ST.LOUIS,4507,5001,4173,5466, 5410,5368,4574 2120 DATAMISSOURI,SPRINGFIELD,3982,4659,3837,50 33,4973,5116,4140 2122 DATAMONTANA,BILLINGS,6294,7106,6118,6076,7 068,7878,5814 2124 DATAMONTANA,GREATFALLS,6810,7482,6503,6006 ,7606,8138,6164 2126 DATAMONTANA,MISSOULA,6797,7104,6668,6896,6 423,8068,6439 2128 DATANEBRASKA,LINCOLN,6067,6504,5302,6131,6 484,6881,5562 2130 DATANEBRASKA,OMAHA,6069,6316,5037,6045,614 0,6391,5954 2132 DATANEVADA,LASVEGAS,2418,2610,2298,2150,16 64,2517,2147 2134 DATANEVADA,RENO,5184,5820,5548,5196,4228,5 679,4625 2136 DATANEW HAMPSHIRE,CONCORD,6924,7304,7194,7 732,7094,7229,6479 2138 DATANEW JERSEY,TRENTON,4373,4763,4172,5355

131 ,5056,4818,4595 2140 DATANEW MEXICO,ALBUQUERQUE,4206,4707,4328, 4761,3543,4020,3735 2142 DATANEW MEXICO,ROSWELL,3015,3660,2771,3469 ,2712,3585,3297 2144 DATANEW YORK,ALBANY,6539,6835,5999,6989,63 15,6806,6023 2146 DATANEW YORK,NEWYORK,4333,4643,4131,5195,4 804,4950,4434 2148 DATANEW YORK,SYRACUSE,6241,6439,5917,6806, 6234,6573,5895 2149 DATANORTH CAROLINA,ASHEVILLE,3375,3947,384 3,4755,4281,3882,3793 2150 DATANORTH CAROLINA,RALEIGH,2758,3550,2895, 4258,3801,3286,3464 2154 DATANORTH CAROLINA,WILMNGTN,1683,2249,1908 ,2849,2658,2256,2464 2156 DATANORTH DAKOTA,FARGO,9171,8502,7937,8893 ,9012,9915,8402 2158 DATANORTH DAKOTA,WILLISTON,8714,8616,8081, 8192,8867,9784,7787 2160 DATAOHIO,COLUMBUS,4701,5314,4860,6494,5860 ,5653,5253 2162 DATAOHIO,TOLEDO,5996,6243,5674,7093,6673,6 520,5992 2164 DATAOKLAHOMA,OKLACITY,3278,3762,2950,3835, 3977,4142,3543 2166 DATAOREGON,BURNS,6395,6587,6880,6102,5711, 7093,5830 2168 DATAOREGON,PORTLAND,4070,3993,3992,4057,37 15,4577,3690 2170 DATAPENNSYLVANIA,HARRISBURG,4509,5199,4498 ,5437,5059,4915,4422 2172 DATAPENNSYLVANIA,PITTSBURG,5005,5516,5105, 6822,5636,5964,5536 2174 DATAPENNSYLVANIA,SCRANTON,5950,5691,5251,6 642,5963,6348,5417 2176 DATARHODE ISLAND,PROVIDENCE,5184,5531,5172 ,6035,5497,5867,5029 2178 DATASOUTH CAROLINA,CHARLESTON,1393,1941,18 37,2702,2340,1972,2195 2180 DATASOUTH CAROLINA,GREENVILLE,2730,3199,29 20,3851,3392,3122,3166 2182 DATASOUTH DAKOTA,RAPIDCITY,6477,7045,6111, 6622,6923,7626,6050 2184 DATASOUTH DAKOTA,SIOUXFALLS,7088,7598,6685

132 ,7484,7822,8393,6799 2186 DATATENNESSEE,CHATTANOOGA,2898,3694,3313,4 113,3729,3349,3483 2188 DATATENNESSEE,KNOXVILLE,2833,3418,3340,414 8,3822,3520,3467 2190 DATATENNESSEE,MEMPHIS,2500,2878,2526,3442, 3355,3205,3013 2192 DATAUTAH,SALTLAKECITY,5402,5495,5392,5370, 3982,5526,4722 2194 DATAVERMONT,BURLINGTON,7276,7306,6945,7726 ,7257,7623,6615 2196 DATAVIRGINIA,NORFOLK,2674,3210,2827,3817,3 478,3432,3358 2198 DATAVIRGINIA,RICHMOND,3265,3944,3232,4389, 4033,3861,3532 2200 DATAWASHINGTON,SEATTLE,4369,4537,4200,3699 ,3650,4414,3995 2202 DATAWASHINGTON,SPOKANE,6171,6613,6104,5978 ,5826,7368,5650 2204 DATAWEST VIRGINIA,CHRLSTON,3807,4813,3832, 5487,4896,4534,4526 2206 DATAWISCONSIN,GREENBAY,7324,7794,7079,8319 ,7616,8227,7040 2208 DATAWYOMING,CHEYENNE,6561,7106,6274,6540,6 100,6851,6179 2210 DATAWYOMING,LANDER,7122,7482,7058,6961,644 5,8528,6891 2990 DATAEND,END,0,0,0,0,0,0,0 2995 END

133 S Program 8* OSIVersion* m 1 REM COOLING FUEL AUDIT 10 REM OR BY MONTH) 11 REM PROGRAM REQUIRES COOLING FUEL USE (ANNUAL 3 OR MORE 12 REM COOLING MONTHS ARE APRIL 1 TO NOV 1* 2 YR REQUIRED 13 RFM OUTPUT IS FUEL SAVINGS, AND * SAVINGS 15 REM ********x***********x*****x*********^ 17 DEFFNTRC (E) -INT

t I I t. i € € € C I C C € C C € I CC t i € 1 i 1 I I. C C i- C I 1 1 i. € I I I i I I i f f C C C C I I I I i i I I C C I I f C I I

i.'./. u READST*,CT*(I),H(1,I),H(2,I),H(3,I),H(4,I),H(5,I),H(6,I),H(7,I) 230 IFLEFT* (ST*, 7) ==LEFT* (B*, 7) THENI=I+1 240 IFST*=="END"THEN250 245 GOTO220 J=I-1:LL=YS-74+1:PRINTTAB(15) {"STATE"{TAB(25) J"CITY" F0RI=1T0J 260 PRINTTAB (10 ) {1{TAB (15) {B* {TAB (25) {CT* (I) {NEXT 270 INPUT"CHOOSE # OF CITY"{I5PRINT{GOSUB50 0 280 X= (F (1) ~7*MI) /H (LL, I) {RATE (1) ===D(1) /F (1) {H==FNTRC (RATE (1) ) 282 PRINT"CHOSEN CITY= "{CT*{"RATE"{TAB(25){"FUEL SAVINGS"{TAB(42){"SAVINGS (DOLLARS)" F0RK=2T0L 300 H=H (LL+K--1,1) *X+7*MI~F (K) {RATE (K) =D (K) /F (K ) {C~I-I*RATE (K) 312 H=FNTRC(H){RATE(K)-FNTRC(RATE(K)){C=FNTRC(C) 320 PRINTTAB(5){INT(YS+K-1){TAB(15){RATE(K){TAB(28){H{TAB(42){C 340 NEXT{PRINT{GOSUB500{PRINTTAB(20){"(+ == SAVINGS)(- ~ LOSS)"{G0T0255 500 RETURN 1999 DATAAPRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER

CO on Ul Program 9. VIC Version. I REM COOLING FUEL AUDIT VIC VERSION II REM PROGRAM REQUIRES COOLING FUEL USE (ANN UAL OR BY MONTH) " 12 REM COOLING MONTHS ARE APRIL 1 TO NOV 1, 2 YRS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND $ SAVINGS 17 DEFFNTRC(E)=INT(E*100)/100 21 PRINT"{CLEAR} COOLING FUEL AUDIT{DOWN}" 22 PRINT"STATE (DON'T ":INPUT"ABBREVIATE)";B$

23 F0RI=1T07:READM$(I):NEXT:PRINT 25 PRINT"THE SUMMER OF 1974 IS CALLED 74, CHO ICES ARE74 TO 80" 27 PRINT:INPUT"STARTING YEAR" ;YS:PRINT:INPUT" LAST YEAR";YE:PRINT 30 L=YE-YS+l:PRINT"CHOICES OF INPUT ARE BY Y EAR OR MONTH" 40 INPUT"BY YEAR (Y OR N)";A$:IFASC(A$)<>89TH EN100 41 PRINT" {CLEARjUNITS OF FUEL CAN BE ANYTHIN G: GALLONS, KWH, CUFT, 100 CUFT" 4 3 PRINT"ALL FUEL ENTRIES MUST BE THE SAME UN ITS":GOSUB500:PRINT 47 FORI=lTOL:PRINT"YEAR= ";INT(YS+I-1) 48 PRINT"FUEL USE FOR APR 1 TO":INPUT"NOV 1"; F(I) :INPUT"COST(DOLLARS) ";D(I) 90 GOSUB500:NEXT:GOTO200 100 FORI=1TOL:GOSUB500:PRINT"YEAR = ";INT(YS+I -1):F0RJ=1T07 105 PRINT"FUEL USE FOR ";M$(J);:INPUTF:PRINT"C OST FOR ";M$(J);:INPUTD 110 F(I)=F(I)+F:D(I)=D(I)+D:NEXT:NEXT 200 PRINT"FUEL USE FOR":INPUT" JANUARY";MI:1=1

220 READST$,CT$(I) ,H(l,I) ,H(2,I) ,H(3,1) ,H(4rI) ,H(5,I),H(6,I),H(7,I) 230 IFLEFT$(ST$,7)=LEFT$(B$,7)THENI=I+1 240 IFST$="END"THEN250 245 GOTO220 250 PRINT"{CLEAR}":J=I-1:LL=YS-74+l:PRINT" S TATE";TAB(12);"CITY{DOWN}" 255 FORI=lTOJ 260 PRINTI;B$;TAB(10);CT$(I):NEXT 270 PRINT"{DOWN}":INPUTwCHOOSE # OF CITY";I:PR

136 INT:GOSUB500 280 X=(F(1)-7*MI)/H(LL,I):RATE(1)=D(1)/F(1):H= FNTRC(RATE(1)) 282 PRINT"{CLEAR}CHOSEN CITY= ";CT$(I):PRINT"R ATE (1ST YR)= ";H 285 PRINT"{DOWNjYEAR RATE FUEL SAVED" 290 PRINT" SAVED ($)" 295 FORK=2TOL 300 H=H(LL+K-1,I)*X+7*MI-F(K):RATE(K)=D(K)/F(K ):C=H*RATE(K) 312 H=FNTRC(H):RATE(K)=FNTRC(RATE(K)):C=FNTRC( C) 320 PRINTINT(YS+K-1);TAB(4);RATE(K);TAB(9);INT (H);TAB(15);C 340 NEXT:PRINT:GOSUB500:PRINT"(+ = SAVINGS,- = LOSS)":GOT0255 500 PRINT" ": RETURN 1999 DATAAPRIL,MAY,JUNE,JULY,AUG,SEPT,OCT

Program 10. Microsoft Version*

I REM COOLING FUEL AUDIT (ADD DATA LINES 2000 UP.) II REM PROGRAM REQUIRES COOLING FUEL USE (ANN UAL OR BY MONTH)" 12 REM COOLING MONTHS ARE APRIL 1 TO NOV 1, 2 YRS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND $ SAVINGS 17 DEFFNTRC(E)=INT(E*100)/100 20 PRINT"YEAR BY YEAR COOLING CONSERVATION AU DIT{02 DOWN}" 21 PRINT"{CLEAR}";TAB(9);"COOLING FUEL AUDIT{ DOWN}" 22 INPUT"STATE (DON'T ABBREVIATE)";B$ 23 FORI=lT07:READM$(I):NEXT:PRINT 25 PRINT"THE SUMMER OF 1974 IS CALLED 74, CHOICES ARE74 TO 80" 27 PRINT:INPUT"STARTING YEAR";YS:PRINT:INPUT" LAST YEAR";YE:PRINT 30 L=YE-YS+l:PRINT"CHOICES OF INPUT ARE BY Y EAR OR MONTH" 40 INPUT"BY YEAR (Y OR N)";A$:IFASC(A$)<>89TH EN100

137 41 PRINT"{CLEAR}UNITS OF FUEL CAN BE ANYTHIN G: GALLONS, KWH, CUFT, 100 CUFT" 43 PRINT"ALL FUEL ENTRIES MUST BE THE SAME UN ITS":GOSUB500:PRINT 47 FORI=lTOL:PRINT"YEAR= ";INT(YS+I-1) 48 INPUT"FUEL USE FOR APR 1 TO NOV 1";F(I):IN PUT"COST(DOLLARS)";D(I) 90 GOSUB500:NEXT:GOTO200 100 FORI=1TOL:GOSUB500:PRINT"YEAR = ";INT(YS+I -1):FORJ=lT07 105 PRINT"FUEL USE FOR ";M$(J);:INPUTF:PRINT"C OST FOR ";M$(J);:INPUTD 110 F(I)=F(I)+F:D(I)=D(I)+D:NEXT:NEXT 200 INPUT"FUEL USE FOR JANUARY";MI:1=1:PRINT"{ CLEAR}";TAB(17);"WAIT" 220 READST$,CT$(I),H(1,I),H(2,I),H(3,I),H(4,I) ,H(5,I),H(6,I),H(7,I) 230 IFLEFT$(ST$,7)=LEFT$(B$,7)THENI=I+1 240 IFST$="END"THEN250 245 GOTO220 250 PRINT"{CLEAR}":J=I-l:LL=YS-74+l:PRINT" STATE";TAB(21);"CITY{DOWN}" 255 FORI=lTOJ 260 PRINTI;TAB(9);B$;TAB(20);CT$(I):NEXT 270 PRINT"{DOWN}":INPUT"CHOOSE # OF CITY";I:PR INT 280 X=(F(1)-7*MI)/H(LL,I):RATE(1)=D(1)/F(1):H= FNTRC(RATE(1)) 282 PRINT"{CLEAR}";TAB(9);"CHOSEN CITY= ";CT$( I):PRINTTAB(9);"RATE(1ST YR) = ";H 285 PRINT"{DOWN}YEAR RATE FUEL SAVED" 290 PRINT" SAVED ($),f 295 FORK=2TOL 300 H=H(LL+K-1,I)*X+7*MI-F(K):RATE(K)=D(K)/F(K ):C=H*RATE(K) 312 H=FNTRC(H):RATE(K)=FNTRC(RATE(K)):C=FNTRC( C) 320 PRINTINT(YS+K-1);TAB(7);RATE(K);TAB(18);IN T(H);TAB(29);C 340 NEXT:PRINT:GOSUB500:PRINT"(+ = SAVINGS,- = LOSS)":GOT0255 500 PRINT" --":RETURN 1999 DATAAPRIL,MAY,JUNE,JULY,AUG,SEPT,OCT

138 Program 11. Atari Version. I REM COOLING FUEL AUDIT (ATARI VERSI ON) 5 DIM ML(7),CTL(20),F(20),D(20),RATE( 20),H(7,20) 10 DIM T*(20),B*(20),M*(8*20),A*(20), ST*(20),CT*(20*20),TT*(20) II REM PROGRAM REQUIRES COOLING FUEL USE(ANNUAL OR BY MONTH) 12 REM COOLING MONTHS ARE APRIL 1 TO NOV 1, 2 YRS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND * SAVINGS 15 REM **tt*********t**«******** 17 GRAPHICS O 20 PRINT "HSEEBEEBEBEEBEEEBOEE"s? " •EEES^EEEHHEC•EIX[SOiJ•,,: PR I NT sPRINT 22 GOSUB 500:PRINT "STATE (DON'T ABBR EVIATE)"s:INPUT B* 23 FOR 1=1 TO 7:READ TT*:M*(I*20+l,It 20+20)=TT*:ML(I)=LEN(TT«):NEXT IiP RINT 25 PRINT "THE SUMMER OF 1974 IS CALLE D 74,"s? "CHOICES ARE 74 TO 80" 27 PRINT sPRINT "STARTING YEAR";:INPU T YSsPRINT "LAST YEAR";:INPUT YE:P RINT 30 L=YE-YS+1:PRINT "CHOICES OF INPUT ARE BY YEAR OR MONTH"sPRINT 40 PRINT "BY YEAR"::INPUT A*:IF A*(1, 1)<>"Y" THEN 100 41 PRINT sPRINT "UNITS OF FUEL CAN BE ANYTHING:"s? "GALLONS, KWH, CUFT, 100CUFT" 43 PRINT "ALL FUEL ENTRIES MUST BE":? "IN THE SAME UNITS":GOSUB 500:PRI NT 47 FOR 1=1 TO LsPRINT "YEAR= ";INT(YS + 1-1) 48 PRINT "FUEL USE FOR APR 1 TO NOV 1

139 ";s INPUT TsF(I)=TsPRINT "COST (DOLL ARS)";sINPUT T:D(I)=T 90 GOSUB 500:NEXT I:GOTO 200 lOO FOR 1 = 1 TO LsGOSUB 500s PRINT "YEA R= ";INT(YS+I-1)sFOR J=l TO 7 105 PRINT "FUEL USE FOR ";M*(J*20+l,J *20+ML(J));sINPUT FsPRINT "COST"; sINPUT D 110 F(I)=F(I)+F:D(I)=D(I)+DsNEXT JsNE XT I 200 PRINT "FUEL USE FOR JANUARY"sINPU T Mis 1 = 1 220 READ ST*,TT*sCT*(I*20+l,1*20+20)= TT*s CTL(I)=LEN(TT*> 225 FOR K=l TO 7sREAD T:H(K,I)=TsNEXT K 230 TRAP 240:IF ST*=B*(1,LEN(ST*)) TH EN 1=1+1 240 TRAP 40000:IF ST*="END" THEN 250 245 GOTO 220 250 J=I-l:LL=YS-74+l:PRINT " €3 SPACESJSTATEC14 SPACESJCITY" 255 FOR 1=1 TO J 260 PRINT I;" ";B*;sPOKE 85,22s? CT* (1*20+1,I*20+CTL(I))sNEXT I 270 PRINT "CHOOSE # OF CITY";sINPUT I :PRINT sGOSUB 500 280 X=(F(1)-7*MI)/H(LL,I)sRATE(1)=D(1 )/F(l)sH=INT(RATE(l)*100)/100 282 PRINT "CHOSEN CITY= ";CT*(I*20+l, I*20+CTL(I))sPRINT "RATE(1ST YEAR ) = " ; H 285 ? s? "YEAR RATE FUEL SAV. * SAV INGS" 295 FOR K=2 TO L 300 H=H(LL+K-1,I)*X+7*MI-F(K)sRATE(K) =D(K)/F(K)sC=H*RATE(K) 312 H=INT(H*100)/100s RATE(K)=INT(RATE (K)*100)/100sC=INT(C*100)/100 320 PRINT " ";INT(YS+K-1);" ";RA TE(K);"";H;"{TABJ<3 SPACES)"

140 340 NEXT KsPRINT s60SUB 500:PRINT "i+ = SAVINGS)<- = LOSS)"sGOTO 255 500 PRINT " "sRETURN 1999 DATA APRIL,MAY,JUNE,JULY,AUGUST, SEPTEMBER,OCTOBER

Program 12* Color Computer Version.

I REM COOLING FUEL AUDIT 10 REM II REM PROGRAM REQUIRED COOLING FUEL USE (ANN UAL OR BY MONTH) 12 REM COOLING MONTHS ARE APRIL 1 TO NOV 1, 2 YRS OR MORE REQUIRED 13 REM OUTPUT IS FUEL SAVINGS, AND $ SAVINGS 15 REM ************************ 17 DEFFNTRC(E)=INT(E*100)/100 18 CLS 20 PRINTTAB(6);"YEAR BY YEAR COOLING":PRINTTA B(7)"CONSERVATION AUDIT":PRINT:PRINT 22 GOSUB500:INPUT"STATE (DON'T ABBREVIATE)";B $ 23 F0RI=1T07:READM$(I):NEXT:PRINT 25 PRINT"THE SUMMER OF 1974 IS CALLED 74,CHOI CES ARE 74 TO 80" 27 PRINT:INPUT"STARTING YEAR";YS:INPUT"LAST Y EAR";YE:PRINT 30 L=YE-YS+1:PRINT"CH0ICES OF INPUT ARE BY YE AR OR MONTH":PRINT 40 INPUT"BY YEAR (Y OR N)";A$:IFASC(A$)<>89TH EN100 41 PRINT:PRINT"UNITS OF FUEL CAN BE ANYTHING: GALLONS, KWHf CUFT, 100 CUFT" 43 PRINT"ALL FUEL ENTRIES MUST BE THE SAME UNITS":GOSUB500:PRINT 47 FORI=1TOL:GOSUB500:PRINT"YEAR =";INT(YS+I- 1) 48 PRINT"FUEL USE FOR APR 1 TO NOV 1";:INPUTF (I) :INPUT"COST(DOLLARS)";D(I) 90 GOSUB500:NEXT:GOTO200 100 FORI=1TOL:GOSUB500:PRINT"YEAR =";INT(YS+I-

141 1):F0RJ=1T07 105 PRINT"FUEL USE FOR ";M$(J);:INPUTF:PRINT"C OST FOR ";M$(J);:INPUTD 110 F(I)=F(I)+F:D(I)=D(I)+D:NEXT:NEXT 200 INPUT"FUEL USE FOR JANUARY";MI:1=1 220 READST$,CT$(I),H(1,I),H(2,I),H(3,I),H(4,I) ,H(5,I),H(6,I)M,H(7,I) 2 30 IFLEFT$(ST$,7)=LEFT$(B$,7)THENI=I+1 240 IFST$="END"THEN250 245 GOTO220 250 J=I-l:LL=YS-74+l:PRINT" STATE CITY

ii

255 FORI=lTOJ 260 PRINTI;" ";B$;" ";CT$(I):NEXT 270 INPUT"CHOOSE # OF CITY";I:PRINT:GOSUB500 280 X=(F(1)-7*MI)/H(LL,I):RATE(1)=D(1)/F(1):H= FNTRC(RATE(1)) 282 PRINT"CHOSEN CITY= ";CT$(I):PRIMT"RATE(1ST YEAR) ="; H 285 PRINT:PRINT"YEAR RATE FUEL SAV. SAVING(DOL )" 295 FORK=2TOL 300 H=H(LL+K-1,I)*X+7*MI-F(K):RATE(K)=D(K)/F(K ):C=H*RATE(K) 312 H=FNTRC(H):RATE(K)=FNTRC(RATE(K)):C=FNTRC( C) 320 PRINTINT(YS+K-1);" ";RATE(K);H ";H;" "; C 340 NEXT:PRINT:GOSUB500:PRINT"(+ = SAVINGS)(- = LOSS)":GOT0255 500 PRINT" ":RET URN 1999 DATAAPRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,0 CTOBER

Program 13. TI-99 Version. I REM cooling fuel audit,TI version II REM program requires cooling fuel use (annual or by month) 12 REM cooling months are april 1 to nov 1, 2 yrs or more required 13 REM output is fuel savings, and * savi ngs

142 15 REM ******************* 17 CALL CLEAR IS CALL SCREEN<13) 19 DEF TRC/lOO 20 PRINT "year by year cooling audit"

22 GOSUB 500 23 INPUT "state (don't abbreviate)? " :B* 24 FOR 1=1 TO 7 25 READ M*? ":A* 49 IF <>89>*<>121)THE N lOO 51 PRINT 57 GOSUB 500 59 PRINT 61 FOR 1=1 TO L 63 PRINT "year= ";INT

67 INPUT F

143 5

101 GOSUB 500 102 PRINT "year = "pINT(YS+I-1) 104 FOR J=l TO 7 105 PRINT "fuel use for ";M*(J); 107 INPUT FF 108 PRINT "cost for ";M*(J>; 109 INPUT DD HO F(I)=F(I)+FF 112 D(I)=D(I)+DD 114 NEXT J 116 NEXT I 150 CALL CLEAR 200 INPUT "fuel use for January? ":MI 201 CALL CLEAR 202 1=1 220 READ ST*,CT*(I),H(1,I)SH(2,I),H(3 ,I),H(4,I),H(5,I),H(6,i),H(7,I) 230 IF SEG*(ST«, 1 , 7 ) OSEG* (B* , 1 ,7)THE N 240 235 1=1+1 240 IF ST*="end" THEN 250 245 GO TO 220 250 J=I-1 251 LL=YS-74+l 252 PRINT TAB(5);"state";TAB(15) ; "cit y" 255 FOR 1=1 TO J 260 PRINT I;TAB(5);B*;TAB(15);CT*(I) 265 NEXT I 270 INPUT "choose # of city ":I 272 CALL CLEAR 274 GOSUB 500 280 X=(F(1)-7*MI)/H(LL,I) 281 RATE(1)=D(1)/F(l) 282 YY=TRC(RATE(1)) 283 PRINT "chosen city= ";CT*(I) 284 PRINT "rate (1st year)= ";YY: : 290 PRINT "year";TAB(6);"rate";TAB(13 );"fuel";TAB(21);"savings" 292 PRINT TAB(12);"savings";TAB(20) ;" (dollars)" 295 FOR K=2 TO L

144 300 HH=H(LL+K-1,I)*X+7*MI-F(K) 302 RATE(K)=D(K)/F(K) 304 C=HH*RATE(K) 312 HH=TRC(HH) 314 RATE(K)=TRC(RATE(K)) 316 C=TRC(C) 320 PRINT INT(YS+K-1);TAB<5) jRATEdO 5 TAB(12);HH;TAB(21) ;C 340 NEXT K 342 PRINT 344 GOSUB 500 346 PRINT " <+ - savings) (- - loss)" 348 GOTO 255 500 PRINT "

502 RETURN 199? DATA april,may,june?July,august» September,October

Program 14. Cooling Audit DATA Statements. 2000 DATATEXAS,BROWNSVILLE,3871,3857,3327,4023, 4188,3689,3756 2001 DATATEXAS,ARMARILLO,1396,1235,1013,1700,15 56,1168,1666 2020 DATATEXAS,FORT WORTH,2578,2609,2251,3017,2 965,2509,3142 2030 DATATEXAS,HOUSTON,2821,2656,2225,2751,2866 ,2577,3127 2032 DATAALABAMA,BIRMINGHAM,1640,1858,1427,2272 ,1975,1719,2177 2034 DATAALABAMA,MOBILE,2548,2732,2405,2846,288 4,2442,2680 2036 DATAALABAMA,MONTGOMERY,1941,2349,1730,2630 ,2388,2033,2375 2038 DATAARIZONA,FLAGSTAFF,232,88,98,191,152,8 5 ,334 2040 DATAARIZONA,PHOENIX,4285,3785,3965,4521,43 43,4186,3872 2042 DATAARIZONA,TUCSON,2788,2592,2760,3099,318 4,3052,2844 2044 DATAARKANSAS,LITTLEROCK,1787,1941,1602,226

145 6,2358,1926,2486 2046 DATACALIFORNIA,LOSANGELES,6 27,50 5,864,602, 827,845,494 2048 DATACALIFORNIA,SANFRANCISCO,127,80,192,88, 144,182,102 2050 DATACOLORADO,DENVER,715,554,667,799,748,66 .,1,950 2052 DATACONNECTICUTT,HARTFORD,764,8 70,819,905, 657,811,787 2054 DATADELAWARE,WILMINGTON,1109,1101,1003,112 0,1016,990,1333 2056 DATAFLORIDA,JACKSONVILLE,2460,2784,2179,27 17,2559,2483,2647 2058 DATAFLORIDA,MIAMI,4657,4570,4014,4202,4183 ,4218,3486 2060 DATAFLORIDA,TALLAHASSEE,2472,2604,2292,249 8,2480,2198,2458 2062 DATAGEORGIA,ATLANTA,1506,1600,1254,1735,17 73,1762,2370 2064 DATAGEORGIA,SAVANAH,2289,2574,1954,2643,25 70,2390,2501 2066 DATAIDAHO,BOISE,8 51,789,535,8 22,597,7 52,51 1 2068 DATAIDAHO,POCATELLO,460,440,372,519,369,47 9 225 2070 DATAILLINOIS,CHICAGO,770,1124,906,1218,982 812 9 29 2072'DATAILLINOIS,SPRINGFIELD,984,1200,1021,136 9,1253,1201,1452 2074 DATAINDIANA,EVANSVILLE,1229,1500,1112,1779 ,1550,1238,1672 2076 DATAINDIANA,FORTWAYNE,727,833,664,1032,898 ,677,844 2078 DATAINDIANA,INDIANAPOLIS,850,1046,770,1363 ,1300,882,1142 2080 DATAIOWA,DESMOINES,974,1237,1050,1342,1226 ,984,1262 2082 DATAIOWA,SIOUXCITY,980,1013,969,862,928,86 5,1071 2084 DATAKANSAS,TOPEKA,117 3,1474,1294,1563,1434 ,1275,1810 2086 DATAKANSAS,WICHITA,1466,1512,1417,1841,204 7,1663,2286 2088 DATAKENTUCKY,LOUISVILLE,1055,1506,1130,171 7,1539,1236,1676 2090 DATALOUISIANA,BATONROUGE,2641,2618,2248,27

146 72,2781,2379,2670 2 092 DATALOUISIANA,NEWORLEANS,2655,2637,2390,29 62,3059,2895,3030 2 094 DATAMAINE,CARIBOU,116,271,231,223,264,290, 211 2 096 DATAMAINE,PORTLAND,296,351,308,308,336,316 ,468 2 098 DATAMARYLAND,BALTIMORE,1038,1245,1149,1474 ,1274,1137,1407 2100 DATAMASSACHUSETTS,BOSTON,646,862,895,897,6 68,789,894 2102 DATAMICHIGAN,DETROIT,620,731,706,873,760,5 22,672 2104 DATAMICHIGAN,GRANDRAPIDS,400,619,6 38,714,5 88,614,667 2106 DATAMICHIGAN,SAULST.MARIE,126,243,167,86,1 25,145,96 2108 DATAMINNESOTA,DULUTH,149,229,271,122,224,1 69,241 2110 DATAMINNESOTA,INT.FALLS,259,328,281,187,21 9,131,327 2112 DATAMINNESOTA,MINNEAPOLIS,619,850,950,691, 811,651,776 2114 DATAMISSISSIPPI,JACKSON,2036,2300,1943,253 5,2421,1947,2578 2116 DATAMISSOURI,KANSASCITY,1159,1534,1296,140 3,1535,1174,1721 2118 DATAMISSOURI,ST.LOUIS,1175,1431,1229,1667, 1519,1578,1907 2120 DATAMISSOURI,SPRINGFIELD,1095,1349,1085,16 92,1565,1122,1850 2122 DATAMONTANA,BILLINGS,572,478,547,545,429,7 16,670 2124 DATAMONTANA,GREATFALLS,473,315,389,293,332 ,396,302 2126 DATAMONTANA,MISSOULA,303,258,158,295,185,3 90,125 2128 DATANEBRASKA,LINCOLN,1128,1282,1178,1250,1 175,1098,1552 2130 DATANEBRASKA,OMAHA,1021,1389,1249,1364,132 1,1124,1374 2132 DATANEVADA,LASVEGAS,3403,297 3,2809,3332,33 00,3387,3035 2134 DATANEVADA,RENO,258,348,236,500,340,4 04,40 0 2136 DATANEW HAMPSHIRE,CONCORD,302,553,419,488,

147 521,519,450 2138 DATANEW JERSEY,TRENTON,977,1070,1053,1163, 976,936,1288 2140 DATANEW MEXICO,ALBUQUERQUE,1353,1100,1141, 1335,1398,1508,1519 2142 DATANEW MEXICO,ROSWELL,1655,1437,1786,2428 ,1991,1684,2061 2144 DATANEW YORK,ALBANY,386,597,476,574,456,63 6,561 2146 DATANEW YORK,NEWYORK,1017,953,1158,1097,91 9,1049,1276 2148 DATANEW YORK,SYRACUSE,405,555,357,520,623, 595,687 2150 DATANORTH CAROLINA,ASHEVILLE,731,795,545,1 007,973,792,1166 2152 DATANORTH CAROLINA,RALEIGH,1325,1452,1459, 1701,1671,1275,1742 2154 DATANORTH CAROLINA,WILMNGTON,1978,2373,193 6,2310,2097,1966,2230 2156 DATANORTH DAKOTA,FARGO,444,553,766,487,604 ,504,580 2158 DATANORTH DAKOTA,WILLISTON,440,376,507,410 ,421,415,600 2160 DATAOHIO,COLUMBUS,836,1147,608,1073,968,80 8,1008 2162 DATAOHIO,TOLEDO,608,692,599,784,741,602,74 0 2164 DATAOKLAHOMA,OKLACITY,1651,1615,1702,2163, 2418,1805,2479 2166 DATAOREGON,BURNS,406,347,227,451,277,367,1 06 2168 DATATENNESSEE,KNOXVILLE,1340,1530,1133,181 1,1612,1355,1814 2170 DATAPENNSYLVANIA,HARRISBURG,1163,1026,901, 1053,1015,828,1183 2172 DATAPENNSYLVANIA,PITTSBURG,657,721,358,623 ,836,620,876 2174 DATAPENNSYLVANIA,PHILADELPHIA,1165,1243,12 11,1237,1247,1097,1410 2176 DATARHODE ISLAND,PROVIDENCE,666,694,631,82 1,610,640,789 2178 DATASOUTH CAROLINA,CHARLESTON,2044,2408,18 85,2584,2319,2204,2258 2180 DATASOUTH CAROLINA,GREENVILLE,1435,1547,11 35,1958,1559,1296,1710 2182 DATASOUTH DAKOTA,RAPIDCITY,697,583,676,574

148 ,669,550,665 2184 DATASOUTH DAKOTA,SIOUXFALLS,751,910,1040,8 54,743,724,793 2186 DATATENNESSEE,CHATTANOOGA,1058,1365,1165,2 095,1847,1432,1778 2192 DATAUTAH,SALTLAKECITY,1191,900,943,1108,10 18,1274,990 2194 DATAVERMONT,BURLINGTON,442,699,483,507,489 ,531,503 2196 DATAVIRGINIA,NORFOLK,1531,1744,1558,1930,1 535,1433,1788 2198 DATAVIRGINIA,RICHMOND,1259,1433,1385,1814, 1573,1375,1681 2200 DATAWASHINGTON,SEATTLE,196,197,129,232,210 ,171,57 2202 DATAWASHINGTON,SPOKANE,405,340,293,472,326 ,496,228 2204 DATAWEST VIRGINIA,CHRLSTON,910,1074,801,12 27,1114,894,1123 2206 DATAWISCONSIN,GREENBAY,323,514,520,534,440 ,380,451 2208 DATAWISCONSIN,MADISON,457,742,627,622,589, 450,630 2 210 DATAWYOMING,CHEYENNE,349,193,217,252,297,3 52,415 2990 DATAWYOMING,LANDER,467,333,394,410,408,436 ,423 2995 DATAEND,END,0,0,0,0,0,0,0 3000 END

149 y y y w y y y y y y y y y w y y

y y y y y w y y y w

m m m %

# Heat Conduction

If you have ever been in your attic in the summer or have felt a cold window with your hand in the winter, you probably wondered how much the conduction through the window or the ceiling was costing you. The first inch of insulation does the most good at resisting heat flow, and each inch after that is less and less effective. Even with today's rapidly increasing energy prices, a point is reached when it is not economical to keep adding insulation. The conduction program will allow you to determine how much heat you are losing in the winter or how much heat you are gaining in the summer and how this affects your utility bills. The program requires that you know the temperature on each side of the wall or window in question. This can be done by using simple thermometers which are shaded from the sun and are manually recorded every few hours during a day. Calculating The EER The program requires that the hot side (Tl) always be hotter than the cold side (T2); no reversals are permitted. The energy efficiency of the air conditioner must be known. It will be either an EER or SEER. If you don't know the rating, you can calculate it after you determine the number of amps it draws by reading the specification plate. Use the following formula to calculate the EER: EER = TONS* 12000/(volts*amps) It should fall between 6 and 12 for a typical unit.

The area and the R value of the wall or window must be known, along with the price of electricity for cooling or natural gas for heating. Books listing the R values of various materials are widely available from public libraries and from power companies. The following is a small sample to get you started. Material R-value Sheet Rock wall board .32 Single window 1.0 Double window 2.0 1/4"plywood .3 Brick .4 airspace >.75in .9 153 6

The figure shows the attic, ambient (outside), and room temperature for July 19, 1982 in the author's house. The attic is ventilated by turbine vents, and the ceiling has an R value of about 19. If it were not for the prevailing winds and the ventilators, the attic temperatures would have been much hotter, thereby increasing the heat flow into the house. In fact, the more insulation placed in the ceiling, the hotter the attic will become, unless it is offset by better ventilation. The sample run for this situation shows that about $9/month is being lost through the ceiling. At this rate, any further improvements would have to be fairly inexpensive in order to be cost effective. If the author could have achieved 100% ventilation, the temperature would have been almost 20 degrees cooler in the attic. Even so, this would have saved only about $4 per month. Given this situation, the author will probably try to increase ventilation in the attic using additional soffit vents (grill-type vents under the eaves), but will probably not use power turbines until electric rates increase substantially.

£

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 Time (CDT)

Temperatures in the Author's House on July 19,1982 in Houston, TX-

154 Sample Run.

HEAT CONDUCTION PROGRAM

CALCULATIONS ARE FOR: 1) AIR CONDITIONING 2) HEATING CHOOSE ONE? 1

# OF TEMP DATA POINTS DESIRED? 7 R VALUE OF INSULATION? 19 AREA OF SURFACE(SQ FT)? 2000 COST OF ELECTRICITY (CENTS/KWH)? B.5 SEER OR EER OF AIR CONDITIONER <6-12>? 7-5

IN THE FOLLOWING SECTION YOU SHOULD INPUT THE TIME AND TEMPERATURES FOR THE HEAT CONDUCTION CALCULATIONS DURING THAT PART OF A DAY WHEN TEMPI>- TEMP2

MILITARY TIME SHOULD BE USED (E.G. 1 PM IS 13) TEMPERATURE SHOULD BE IN DEG F

HIT TO CONTINUE

HOUR = ? 8 MINUTES = ? 15 HOT SIDE TEMP <= ? 80 COLD SIDE TEMP = ? 80

HOUR -? 11 MINUTES = ? O HOT SIDE TEMP -? 91.4 COLD SIDE TEMP • ? 80

HOUR = ? 13 MINUTES « ? 45 HOT SIDE TEMP • ? 104-9 COLD SIDE TEMP -? 80

HOUR -? 16 MINUTES » ? O HOT 8IDE TEMP « ? 108-5 COLD SIDE TEMP -? 80

HOUR « ? 18 MINUTES -? 30 HOT SIDE TEMP = ? 102 COLD SIDE TEMP -? 80

HOUR » ? 22 MINUTES -? 30 HOT SIDE TEMP » ? 86 COLD SIDE TEMP » ? 80

HOUR -? 25 MINUTES • ? 45 HOT SIDE TEMP -? 80 COLD SIDE TEMP » ? 80

COST OF CONDUCTION OF HEAT INTO HOUSE FOR 30 DAYS - •9.11

155 en Program 1. OSI Version. 10 REM CONDUCTION PROGRAM, OSI VERSION 30 DEFFNTRC(E)=INT(E*100>/10 0 35 POKE2888,0JPOKE8722,0JREM NULL INPUT ENABLE 40 GOSUB330JPRINTTAB(21)!"HEAT CONDUCTION PROGRAM":PRINT 50 PRINT-CALCULATIONSARE FORX"JPRINTTAB(15):"1>AIR CONDITIONING' 60 PRINTTAB(15)t"2> HEATING":PRINT!INPUT"CHOOSE ONE"}A* 70 PRINTJPRINT"* OF TEMPERATURE DATA POINTS"JJINPUT" DESIRED"JN 80 DIM HR(N),MIN(N),T1(N),T2(N) 90 PRINTJINPUT"R VALUE OF INSULATION"JR 100 PRINTtlNPUT"AREA OF SURFACE (SO FT)"J A 110 IFA*~"2"THEN140 120 PRINT!INPUT"COST OF ELECTRICITY (CENTS/KWH)"JC 130 PRINT?INPUT"SEER OR EER OF AIRCONDITIONER (6~12)":SEERtGOTO150 140 PRINT:iNPUT"COST OF NATURAL GAS (cents/cu ft)":c THE FOLLOWING section you should input the time" 150 GOSUB330JPRINT"IN 152 PRINT"AND TEMPERATURES FOR THE HEAT CONDUCTION CALCULATIONS" 154 PRINT"DURING THAT PART OF A DAY WHEN TEMPI >= TEMP2" 160 PRINTSPRINT"MILITARY TIME SHOULD BE USED E*G» 1 PM IS 13" 162 PRINT"TEMPERATURE SHOULD BE IN DEG F." 170 PRINTJPRINT"HIT CARRIAGE RETURN TO CONTINUE" 180 INPUTB$JGOSUB270 200 FL=OJFORM-2TONJD1-T1(M-1)-T2(M~1)JD2-T1(M)-T2(M) 210 DT=HR(M)+MIN(M)/60~HR(M-l)--MIN(M-l)/60 220 FL=FL+(D1+D2)*DT/(2*R) JNEXT 230 IFA*="2"THENGOTO250

I | I I t I I I I I t I. C I I € I t I I I I I. i CCC I M (( t i i C I i i C t i i i t t i (( f f f f l I f

240 GOSUB330JPRINT"CQST OF CONDUCTION OF HEAT INTO HOUSE" 242 PRINT'TOR 30 DAYS = *"iFNTRC(30*FL*A*C/(SEER*100Q00))JSTOP 250 F0RI-1T032!PRINT:NEXT!PRINT"COST OF CONDUCTION OF HEAT OUT OF HOUSE" 252 PRINT'TOR 30 DAYS = *":FNTRC(FL*A*C*30/55000) 260 END 270 F0RM=1T0N:PRINTJINPUT"HOUR "JHR(M) JIFL=0ANDHR(MXHR(M-1)THENL=1 280 IFL=lTHENHR(M)=HR(M)+24 290 INPUT"MINUTES= "JMIN(M) 30 0 INPUT"HOT SIDE TEMP= "JTKM) 310 INPUT"COLD SIDE TEMP= "JT2(M) 320 IFT2(M)>T1(M)THENPRINT"ERR0R IN JMJ"LINE":STOP 325 NEXT JRETURN 330 FORI=1T010JPRINT XNEXTX RETURN 350 REM FL=HEAT FLUX BTU/SO FT 360 REM C=COST OF FUEL 370 REM Tl=HOT SIDE TEMP DEG F 380 REM T2=C0LD SIDE TEMP DEG F 390 REM A=AREA OF SURFACE SQ FT 400 TRM HTO"HOURS, MIN()=MIN 410 REM Dl & D2 ~ TEMP DIFFERENTIAL 420 REM R= R VALUE OF INSULATION 430 REM SEER = EER OR SEER (EFFICIENCY) OF AIRCONDITIONER=(BTU/HR)/WATT 440 REM DT^TIME BETWEEN TWO TEMPERATURE MEASUREMENTS (HOURS) Program 2* VIC Version. 10 REM CONDUCTION PROGRAM VIC VERSION 30 DEFFNTRC(E)=INT(E*100)/100 40 GOSUB330SPRINT"{CLEAR} HEAT CONDUCTION PRO G{DOWN}" 50 PRINT"CALCULATIONS ARE FOR"sPRINT"1) AIR C ONDITIONING" 60 PRINT"2) HEATING{DOWN}"sPRINT" "sINPUTA$ 70 PRINT"{DOWN}# OF TEMP DATA PTS"sINPUT"DESI RED";N 80 DIM HR(N),MIN(N),T1(N),T2(N) 90 PRINT"{DOWN}R VALUE OF INSULATION"sINPUTR 100 PRINT"{DOWN}AREA OF SURFACE(SQ FT)"sINPUTA

110 IFA$="2"THEN140 120 PRINT"{DOWN}COST OF ELECTRICITY"sINPUT"(CE NTS/KWH) ";C 130 PRINT"{DOWN}SEER OR EER OF AIRCONDI TIONER (6-12)"sINPUTSEERsGOTO150 140 PRINT"{DOWN}COST OF NATURAL GAS (CENTS/CU ~ FT)"sINPUTC 150 GOSUB330SPRINT"{CLEAR}IN THE FOLLOWING SEC TION YOU SHOULD INPUT THE TIME" 152 PRINT"AND TEMPERATURES FOR THE HEAT CONDU CTION CALCULATIONS" 154 PRINT"DURING THAT PART OF A DAY WHEN TEMPI >= TEMP2" 160 PRINT"MILITARY TIME SHOULD BE USED E.G. 1 PM IS 13" 162 PRINT"TEMPERATURE SHOULD BE IN DEG F" 170 PRINT"HIT CARRIAGE RETURN TOCONTINUE" 180 GETB$sIFB$=""THEN180 200 GOSUB270:FL=0 sFORM=2TON:D1=T1(M-l)-T2(M-l) :D2=T1(M)-T2(M) 210 DT=HR(M)+MIN(M)/60-HR(M-l)-MIN(M-l)/60 220 FL=FL+(D1+D2)*DT/(2*R) sNEXT 230 IFA$="2"THEN250 240 GOSUB330SPRINT"{CLEAR}COST OF CONDUCTION 0 F HEAT INTO HOUSE" 242 PRINT"FOR 30 DAYS = $";FNTRC(30*FL*A*C/(SE ER*10T5))sSTOP 250 PRINT"{CLEAR}COST OF CONDUCTION OF HEAT OU T OF HOUSE"

158 252 PRINT"FOR 30 DAYS = $";FNTRC(FL*A*C*30/550 00) 260 END 270 PRINT"{CLEAR} HR MIN TEMPI TEMP2"sPRINT 275 FORM=lTONsINPUTHR(M)sIFL=0ANDHR(M)T1(M)THENPRINT"ERR0R IN "M;"LINE"s STOP 3 25 NEXTsRETURN 3 30 PRINT"{02 DOWN}"sRETURN 3 50 REM FL=HEAT FLUX BTU/SQ FT 360 REM C=COST OF FUEL 370 REM Tl=HOT SIDE TEMP DEG F 380 REM T2=COLD SIDE TEMP DEG F 390 REM A=AREA OF SURFACE SQ FT 4 00 REM HT()=HOURSf MIN()=MIN 410 REM Dl & D2 = TEMP DIFFERENTIAL 4 20 REM R= R VALUE OF INSULATION 430 REM SEER = EER OR SEER (EFFICIENCY) OF AIR CONDTIONER =(BTU/HR)/WATT 4 40 REM DT=TIME BETWEEN TWO TEMPERATURE MEASUR EMENTS (HOURS)

Program 3. Microsoft Version.

10 REM CONDUCTION PROGRAM 30 DEFFNTRC(E)=INT(E*100)/100 40 GOSUB330SPRINT"{CLEAR} HEAT CONDUCTI ON PROGRAM{04 DOWN}" 50 PRINTTAB(8);"CALCULATIONS ARE FORs{DOWN}"s PRINTTAB(8);"1) AIR CONDITIONING{DOWN DOWN}" 60 PRINTTAB(8);"2) HEATING{DOWN}"sPRINTTAB(11 );"";sINPUTA$ 70 INPUT"[DOWN}# OF TEMP DATA PTS DESIRED,(=> 5)";N 80 DIM HR(N),MIN(N),T1(N),T2(N) 90 INPUT"{DOWN}R VALUE OF INSULATION";R 100 INPUT"{DOWN}AREA OF SURFACE(SQ FT)";A 110 IFA$="2"THEN140

159 120 INPUT"{DOWN}COST OF ELECTRICITY (CENTS/KWH )" #C 130 INPUT"{DOWN}SEER OR EER OF{RIGHT}AIRCONDIT IONER(6-12)";SEERsGOTO150 140 INPUT"{DOWN}COST'OF NATURAL GAS (CENTS/CU FT)";C 150 GOSUB330SPRINT"{CLEAR}{06 DOWN}IN THE FOLL OWING SECTION YOU SHOULD" 152 PRINT"INPUT THE TIME AND TEMPERATURES FOR THE HEAT "; 154 PRINT"CONDUCTION CALCULATIONS DURING THATP ART OF A DAY WHEN TEMPI >= TEMP2" 160 PRINT"{DOWN}MILITARY TIME SHOULD BE USED E .G. 1 PM IS 13" 162 PRINT"{DOWN}TEMPERATURE SHOULD BE IN DEG F

it 170 PRINT"{DOWN}" 180 GETB$sIFB$=""THEN180 200 GOSUB270sFL=0sFORM=2TONsDl=Tl(M-l)-T2(M-l) :D2=T1(M)-T2(M) 210 DT=HR(M)+MIN(M)/60-HR(M-l)-MIN(M-l)/60 220 FL=FL+(D1+D2)*DT/(2*R)sNEXT 230 IFA$="2"THEN250 240 GOSUB330SPRINT"{CLEAR}{05 DOWN}COST OF CON DUCTION OF HEAT INTO HOUSE" 242 PRINT"FOR 30 DAYS = $";FNTRC(30*FL*A*C/(SE ER*10T5))SGOT0255 250 PRINT"{CLEAR}{05 DOWN}COST OF CONDUCTION O F HEAT OUT OF HOUSE" 252 PRINT"FOR 30 DAYS = $";FNTRC(FL*A*C*30/550 00) 255 GOT0255 260 END 270 PRINT"{CLEAR} HR MIN TEMPI TE MP2{DOWN}" 275 FORM=lTONsINPUTHR(M) :IFL=0ANDHR(M)Tl(M)THENPRINT"ERROR IN "M^LINE, TEMP2>TEMP1"sSTOP 325 NEXT:RETURN

160 330 PRINT"{02 DOWN}":RETURN 350 REM FL=HEAT FLUX BTU/SQ FT 360 REM C=COST OF FUEL 370 REM Tl=HOT SIDE TEMP DEG F 380 REM T2=COLD SIDE TEMP DEG F 390 REM A=AREA OF SURFACE SQ FT 400 REM HT()=HOURS, MIN()=MIN 410 REM Dl & D2 = TEMP DIFFERENTIAL 420 REM R= R VALUE OF INSULATION 430 REM SEER = EER OR SEER (EFFICIENCY) OF AIR CONDTIONER =(BTU/HR)/WATT 440 REM DT=TIME BETWEEN TWO TEMPERATURE MEASUR EMENTS (HOURS)

Program 4. Atari Version. lO REM CONDUCTION PROGRAM ATARI VERSI ON 20 OPEN #1,4,0,"K:" :DIM A*(20) 40 GOSUB 330:PRINT "CCLEAR} HEAT COND UCTION PROG{DOWN}" 50 PRINT "CALCULATIONS ARE FOR":PRINT "1) AIR CONDITIONING" 60 PRINT "2) HEATING{DOWN>":PRINT " €3 SPACESXCHOOSE ONE>": INPUT A* 70 PRINT "CDOWN># OF TEMP DATA PTS":P RINT "DESIRED";:INPUT N 80 DIM HR(N),MIN(N),T1(N),T2(N) 90 PRINT "<:DOWN>R VALUE OF INSULATION "sINPUT R lOO PRINT "CDOWN2AREA OF SURFACE(SQ F T)":INPUT A 110 IF A*="2" THEN 140 120 PRINT "CDOWN>COST OF ELECTRICITY" :PRINT -" ; :INPUT C 130 PRINT "SEER OR EER OF AIR C ONDITIONER (6-12)":INPUT SEER:GOT 0 ISO 140 PRINT "tDOWNJCOST OF NATURAL GAS (CENTS/CU FT)":INPUT C 150 GOSUB 330:PRINT "{CLEAR}IN THE FO

161 LLOWING SECTION YOU SHOULD":? "EN TER THE TIME" 152 PRINT "AND TEMPERATURES FOR THE H EAT":? "CONDUCTION CALCULATIONS" 154 PRINT "DURING THAT PART OF A DAY" :? "WHEN TEMPI>= TEMP2" 160 PRINT "MILITARY TIME SHOULD BE US ED":? "E.G. 1 PM IS 13" 162 PRINT "TEMPERATURE SHOULD BE IN D EG F" 170 ? :PRINT "HIT M =**»?!! TO CONTINUE" 180 GET #1,ZZ 200 GOSUB 270:FL=0:F0R M=2 TO N:D1=T1 (M-1)-T2(M-1):D2=T1(M)-T2(M) 21O DT=HR(M)+MIN(M)/60-HR(M-l)-MIN(M- 1) /60 220 FL=FL+(D1+D2)*DT/(2*R):NEXT M 230 IF A*="2" THEN 250 240 GOSUB 330:PRINT "{CLEAR}COST OF C ONDUCTION OF HEAT INTO HOUSE" 242 PRINT "FOR 30 DAYS = *";:V=(30*FL *A*C/(SEER*10"5)):V=INT(V*1OO+O.5 )/100:? VsEND 250 PRINT "COST OF CONDUCTION OF HEAT OUT OF HOUSE" 252 PRINT "FOR 30 DAYS = *";:V=(FL*A* C*30/55000):V=INT(V*1OO+O.5)/100: ?V 260 END 270 PRINT "{CLEAR* HR{3 SPACES}MIN {3 SPACES}TEMP1{3 SPACES}TEMP2":P RINT 275 FOR M=l TO N:INPUT TT:HR(M)=TT:IF L=0 AND HR(MXHR(M-1) THEN L=l 280 IF L=l THEN HR(M)=HR(M)+24 290 PRINT »{UP}";:POKE 85,8:INPUT TT: MIN(M)=TT 300 PRINT "{UP}";:POKE 85,14:INPUT TT :T1(M)=TT 310 PRINT "{UP}";:POKE 85,22:INPUT TT :T2(M)=TT 320 IF T2(M)>T1(M) THEN PRINT "ERROR

162 IN ";M$" LINE":END 325 NEXT M:RETURN 330 PRINT "£2 DOWN>":RETURN 350 REM FL=HEAT FLUX BTU/SQ FT 360 REM C=C0ST OF FUEL 370 REM T1=H0T SIDE TEMP DEG F 380 REM T2=COLD SIDE TEMP DEG F 390 REM A=AREA OF SURFACE SQ FT 400 REM HT()=HOURS, MINO=MIN 410 REM Dl 8c D2 = TEMP DIFFERENTIAL 420 REM R= R VALUE OF INSULATION 430 REM SEER = EER OR SEER (EFFICIENC Y) OF AIRCONDTIONER =

Program 5. Color Computer Version.

10 REM COLOR COMPUTER VERSION 2 0 REM CONDUCTION PROGRAM 30 DEFFNTRC(A)=INT(A*100)/100 40 CLSsPRINTTAB(5);"HEAT CONDUCTION PROGRAMS PRINT 50 PRINTHCALCULATIONS ARE FORs"sPRINT" 1 ) AIR CONDITIONING"SPRINT" 2) H EATING" 6 0 PRINTSINPUT"CHOOSE ONE";A$ 7 0 PRINTS PRINT"# OF TEMPERATURE DATA POINTS"s INPUT"DESIRED";NsIFN=0THEN70 80 DIM HR(N),MIN(N),T1(N),T2(N) 90 PRINTsINPUT"R VALUE OF INSULATION";RsCLS 100 PRINTSINPUT"AREA OF SURFACE (SQ FT)";A 110 IFA$="2"THEN140 120 PRINTSINPUT"COST OF ELECTRICITY (CENTS/KWH )";C 130 PRINTSINPUT"SEER OR EER OF AIRCONDITIONER " (6-12)";SEERsGOTO150 140 PRINTSINPUT"COST OF NATURAL GAS (CENTS/CU " FT) ";C 150 CLSsPRINT"IN THE FOLLOWING SECTION YOU SHO ULD INPUT THE TIME AND TEMPERATURES" 155 PRINT"FOR THE HEAT CONDUCTION CALCULATIONS

163 DURING THAT PART OF A DAY" ^ 159 PRINT"WHEN TEMP1>= TEMP2" 160 PRINTsPRINT"MILITARY TIME SHOULD BE USED E W •G« 1 PM IS 13 ^ 165 PRINT"TEMPERATURE SHOULD BE IN DEG F" 170 PRINTsPRINT"HIT ANY KEY TO CONTINUE" ^ 180 IF INKEY$=""THEN180 w 190 GOSUB270 200 FL=0sFORM=2TONsDl=Tl(M-l)-T2(M-l)sD2=Tl(M) w -T2(M) 210 DT=HR(M)+MIN(M)/60-HR(M-l)-MIN(M-l)/60 ^ 220 FL=FL+(D1+D2)*DT/(2*R)sNEXT ^ 230 IFA$="2"THENGOTO250 240 CLSsPRINT"COST OF CONDUCTION OF HEAT INTO ~ W HOUSE" 245 PRINT"FOR 30 DAYS = $";FNTRC(30*FL*A*C/(SE vn§^ ER*10 5))sSTOP ^ 250 CLSsPRINT"COST OF CONDUCTION OF HEAT OUT 0 F HOUSE" ^ 255 PRINT"FOR 30 DAYS = $";FNTRC(FL*A*C*30/550 ^^ 00) 260 END 270 GOSUB330sFORM=lTONsINPUTHR(M)sIFL=0ANDHR(M )=HR(M)+24 290 PRINT@6+32*M,"";sINPUTMIN(M) 300 PRINT@15+32*M, ""; sINPUTTl(M) *p 310 PRINT@24+32*M,"";sINPUTT2(M) 320 IFT2(M)>T1(M)THENPRINT@13+32*M," ~ ^ "sGOTO300ELSENEXTsRETURN w 3 30 CLSSPRINT"HOURS MIN";TAB(15);"TEMPI";TAB (24);"TEMP2" ^ 340 RETURN 350 REM FL=HEAT FLUX BTU/SQ FT W 360 REM C=COST OF FUEL ^ 370 REM Tl=HOT SIDE TEMP DEG F 380 REM T2=COLD SIDE TEMP DEG F ^ 390 REM A=AREA OF SURFACE SQ FT . 4 00 REM HR()=HOURS, MIN()=MIN 410 REM Dl & D2 = TEMP DIFFERENTIAL w 4 20 REM R= R VALUE OF INSULATION 430 REM SEER=EER OR SEER (EFFICIENCY) OF AIRCO w NDITIONER =(BTU/HR)/(WATTS) ^ 4 40 REM DT=TIME BETWEEN TWO TEMPERATURE MEASUR MENTS (HOURS) ^

164 Program 6. TI-99 Version. lO REM conduction program, ti-99 vers i on 30 DEF TRC heating" 56 PRINT 58 INPUT "choose one ": A* 60 PRINT 70 INPUT "number of temperature data points desired? "sN 80 DIM HR(30) j,MIN(30> ,T1 <30> ,T2(30) 84 CALL CLEAR 90 INPUT "r value of insulation? ":R 94 PRINT 95 PRINT 100 INPUT "area of surface (sq ft)? " :A 110 IF A*="2" THEN 140 114 PRINT 115 PRINT 120 INPUT "cost of electricity C9 SPACES>(cents/kwh)? ":C 124 PRINT 125 PRINT 130 INPUT "seer or eer of{14 SPACES>ai rconditioner (6-12)? "sSEER 134 GOTO 150 140 PRINT 141 PRINT 144 INPUT "cost of natural gas (cents /cu ft>? ":C 150 CALL CLEAR 152 PRINT "in the following section y

165 oushould input the time" ^ 154 PRINT "and the temperatures for t w heheat conduction calculations" 156 PRINT "during that part of a day ^ {3 SPACES3when tempi >= temp2": s ^

159 PRINT "military time should be us ^ ede.g- 1 pm is 13": s : w 162 PRINT "temperature should be in <4 SPACES*deg f . ":: : ^ 170 PRINT "press to continue" w 180 INPUT B* 181 CALL CLEAR ^ 182 GOSUB 270 w 200 FL=0 202 FOR M=2 TO N ^ 204 D1=T1-T2 ^ 206 D2=T1-T2 210 DT= HR(M)+MIN-MIN 222 NEXT M ^ 230 IF A*="2" THEN 250 w 240 GOSUB 330 241 MO= TRC <30*FL*A*C/ (SEER*1OOOOO) ) ^ 242 PRINT "cost of conduction of heat ^ into house for 30 days {6 SPACES3= *";M0 ^ 244 STOP w 250 CALL CLEAR 251 M0=TRC w 252 PRINT "cost of conduction of heat ^ out of house for 30 days = * ";M

260 END vm^ 270 FOR M=l TO N 271 PRINT *" 272 INPUT "hour= ?":HR(M) w 273 IF LOO THEN 280 276 IF HR>=HR

277 L=l \i|/ 280 IF LOl THEN 290

166 285 HR(M)=HR 300 INPUT "hot side temp =?":TKM) 310 INPUT "cold side temp =?"sT2

324 GOTO 300 325 NEXT M 326 RETURN 330 FOR 1=1 TO 10 335 PRINT 338 NEXT I 340 RETURN 350 REM fl=heat flux btu/sq ft £3 SPACES* 360 REM c=cost of fuel 370 REM tl=hot side temp deg f <3 SPACES* 380 REM t2=cold side temp deg f 390 REM a=area of surface sq ft 400 REM ht()= hours, min<)=min €3 SPACES! 410 REM dl & d2 = temp differential 420 REM r=r value of insulation 430 REM seer = eer or seer

167 w

w

4 Buying A New Air Conditioner

Note: This program requires a data fileon electricity usage createdby the "Energy Data Base"program in this book. Forthe OSI, Atari, Apple, and ColorComputer versions, theprogram expects the fileto be stored on a disk. The VIC, PET/CBM/64 and TIversions use a data file stored on tape.

If your air conditioner repairman has just said last rites over your condensing unit and has given you an estimate for a new unit, you are probably in a state of shock. More than likely, though, you received not one estimate, but several, each with different price tags and different efficiencies. Now what do you do? How can one choose between a higher cost, more efficient air conditioner and a lower cost, less efficient air conditioner? The efficiency rating which is applicable to the majority of central air conditioners is the SEER (Seasonal Energy Efficiency Rating). It is defined as the total cooling of an air conditioner in BTUs during a normal use period (several months) divided by the total electric energy input in Watt-Hours. If you know the SEER of each prospective unit and you have used the data base program to save at least one year of data on your electric use, then the air conditioner program will tell you what you will save each year by buying the high efficiency unit. Then it is up to you to determine if the additional cost of the high efficiency air conditioner will be paid back soon enough to warrant the extra expense. One note of caution: this program as currently set up is applicable only if you use different fuels for heating and cooling (e.g., heating with natural gas and cooling with electricity). The reason for this will become clear in the description of the program. Dramatic Rise And Fall Although different measures of efficiency are used for air conditioners depending upon their size and age, the definitions of the EER (energy efficiency rating) and SEER are similar enough to

171 make the program adaptable to either efficiency rating. Ifyou want to calculate the EER of your air conditioner, simply use the formula: EER = TONS* 12000/(VOLTS*AMPS) Be sure to include the amperage of the condensing unit fan motor by adding it to the amperage of the compressor. Since electricity has a wide variety of uses in the home, and since the air conditioner system is usually the largest user (52%), the electric use in an average home rises and falls dramatically during the year (see the figure). The first thing the air conditioner program does after reading in the data (lines230-250) is to determine the minimum KWH in the latest year in the data base (lines 110-130). This is used as an estimate for all other uses of electricity in the house. This base issubtracted from all months in order to arrive at the electric use by the air conditoner (line 130). The "old" air conditioner is presumed to be the least efficient (lower SEER or EER), and the "new" unit is defined as the most efficient (lines 150-160). Ifyou have an all electric house, this technique would confuse cooling cost and heating cost and would thereby cause an overestimate of savings by buying the high efficiency air conditioner. The cost of electricity is input from the keyboard rather than by using last year's rates from the data base, since the user may want to extrapolate, using his estimate for the cost of electricity in the future. Although the equation in line 200 looks a little complicated, it basically converts the air conditioning kilowatt hours into BTUs which the old unit removed during that year. The number of kilowatt hours required by the new air conditioner is then calculated by dividing these BTUsby the new SEER. The difference between the kilowatt hours used by the old (less efficient) unit and the new unit is multiplied by the utility rate which gives the annual savings.

172 Sample Run.

CHOOSING AN AIR CONDITIONER

INSERT DISK WITH DATA FILE 'ELECT'

HIT AFTER INSERTING DISK

USING DATA FROM 19S1 IN CALCULATIONS

SEER OF OLD AIR CONDITIONER? 6

SEER OF NEW AIR CONDITIONER? 8 CURRENT COST OF ELECTRICITY IN CENTS/KWH = ? G.55

ANNUAL SAVINGS OF NEW AIR CONDITIONER AS COMPARED TO THE OLD UNIT « * 155.75

JAN FEB MAR APR MAY JUNE JULY AUG SEPT OCT NOV DEC

Electric Usage at the Author's Residence in Houston, TX in 1981.

173 ^1 Program 1. OSI Version* 4^ 10 REM CHOOSING AN AIRCONDITIONER

30 DEFFNTRC (X )*INT (X* 1 ()0 )/10 0 XP0KE2888, 0 :P0KE8722 , 0 JREM NULL INPUT 40 F0RI*1T0N:F0RM*1T012 50 MI=lE10tJ«0JFORI=lTO15:PRINT:NEXT 60 PRINTTAB(20)J"CHOOSING AN AIRCONDITIONER1 :FORI*1T010tPRINT tNEXT

7 0 PRINT"INSERT DISK WITH DATA FILE 'ELECT" ♦♦PRINT tPRINT t PRINT 80 INPUT"HIT RETURN AFTER INSERTING DISK"}! 90 GOSUB230 10 0 PRINT IPRINT:PRINT"USING DATA FROM "JEYJ' IN CALCULATIONS" 11 I*Nt FORM*1TO12tX*E< I, M) 12 IFX>0THENJ*J+1tS*S+EN,BY,EY:DIME(N >12),D(N ,12) 24 F0RI*1T0N:F0RM*1T012 25 INPUT*A,E:NEXT:NEXT:RETURN 26 REM S*SUM OF KILOWATT HRS MINI BASE KWATT HRS DUE TO OTHER USES 27 REM CO*COST IN CENTS/KWATT HR

| if | | | ( I ((((( ( I I ( I U ( I ( I I (( I i ( t Program 2. VIC Version.

10 REM CHOOSING AN AIR CONDITIONER - VIC VERS ION 30 DEF FNTRC(X)=INT(X*100)/100 40 FORI=lTON:FORM=lT012 50 MI=1E10:J=0 60 PRINT"{CLEAR}":PRINTTAB(05);"CHOOSING AN": PRINTTAB(4);"AIR CONDITIONER" 70 PRINT"{03 DOWNllNSERT TAPE WITH DATA FILE ~ 'ELECT1":PRINT"{02 DOWN}" 80 PRINT"HIT RETURN AFTER":PRINT"INSERTING TA PE" 85 GETA$:IFA$<>CHR$(13)THEN85 90 GOSUB230 100 PRINT"{02 DOWNjUSING DATA FROM";EY:PRINT"I N CALCULATIONS" 110 I=N:F0RM=1T012:X=E(I/M) 120 IFX>0THENJ=J+1:S=S+E(I,M):IFX

175 Program 3. Microsoft Version.

10 REM CHOOSING AN AIR CONDITIONER 30 DEF FNTRC(X)=INT(X*100)/100 40 FORI=lTON:FORM=lTOl2 50 MI=1E10:J=0 60 PRINT"{CLEAR}":PRINTTAB(13);"CHOOSING AN": PRINTTAB(11);"AIR CONDITIONER" 70 PRINT" {03 DOWNjlNSERT TAPE WITH DATA FILE •ELECT1":PRINT"{02 DOWN}" 80 INPUT"HIT RETURN AFTER INSERTING TAPE";I 90 GOSUB230 100 PRINT"{02 DOWN}USING DATA FROM";EY:PRINT"I N CALCULATIONS" 110 I=N:F0RM=1T012:X=E(I,M) 120 IFX>0THENJ=J+1:S=S+E(I,M):IFX

176 Program 4. Atari Version. 10 REM CHOOSING AN AIR CONDITIONER ED

30 DIM A*<1) 40 FOR 1=1 TO N:FOR M=l TO 12 50 MI=1E+10:J=0 60 PRINT M{CLEAR}":POSITION 15.0:? "E nemsi":position is.i:? "ebbbe

70 PRINT "t3 DOWN>Insert disk with da ta file 'ELECTRIC":PRINT "C2 DOWN}

•I 80 PRINT "Hit lr»j*i»ri: af ter ": PRI NT "In serting disk";:INPUT A* 90 GOSUB 230 lOO PRINT "{2 DOWN}Using data from "; EY:PRINT "in calculations" 110 I=N:FOR M=l TO 12:X=E0 THEN J=J+1:S=S+E" ISO PRINT "SEER OF OLD":PRINT "AIR CO NDITIONER";:INPUT BS:? :? 160 PRINT "SEER OF NEW":PRINT "AIR CO NDITIONER";:INPUT NS:? :? 170 PRINT "CURRENT COST OF":PRINT "EL ECTRICITY IN CENTS/":PRINT "KWH = ";:INPUT CO:? :? 180 PRINT "ANNUAL SAVINGS OF NEW":PRI NT "AIR CONDITIONER" 190 PRINT "AS COMPARED TO THE OLD UNI T = *" ; 200 V=/lOO:? V 210 END 220 REM GET DATA, N=YRS, BY=BEG YR. E Y=END YR, E<)=ENERGY, D()=COST 230 OPEN #1,4.0."D:ELECTRIC"sINPUT #1 ,N,BY,EY:DIM E(N,12),D(N,12>

177 240 FOR 1=1 TO NsFOR M=l TO 12 250 INPUT #1,T1,T2:E(I,«)=T1:D«I,H)=T 2:NEXT MsNEXT I sCLOSE #1:RETURN 260 REM S = SUM OF KILOWATT HRS MINUS B ASE KWATT HRS DUE TO OTHER USES 270 REM CO=COST IN CENTS/KWATT HR

Program 5. Color Computer Version.

10 REM CHOOSING AN AIR CONDITIONER - COLOR CO MPUTER VERSION 30 DEFFNTRC(X)=INT(X*100)/100 40 F0RI=1T0N:F0RM=1T012 50 MI=1E10:J=0:CLS 60 PRINTTAB(2);"CHOOSING AN AIR CONDITIONER": F0RI=1T05:PRINT:NEXT 70 PRINT"lNSERT DISK WITH DATA FILE'ELECT1"sP RINT:PRINT sPRINT 80 PRINT"HIT RETURN AFTER INSERTING DISK" 85 A$=INKEY$sIFA$=""THEN85 90 GOSUB230 100 PRINT: PRINT: PRINT"USING DATA FROM ";EY:PRI NT"IN CALCULATIONS" 110 I=N:F0RM=1T012:X=E(I,M) 120 IFX>0THENJ=J+1:S=S+E(I,M):IFX

178 240 F0RI=1T0N:F0RM=1T012 250 INPUT#1,E(I,M),D(I,M):NEXT:NEXT:CL0SE#1:RE TURN 260 REM S=SUM OF KILOWATT HRS MINUS BASE KWATT HRS DUE TO OTHER USES 270 REM CO=COST IN CENTS/KWATT HR

Program 6* TI-99 Version. lO REM choosing an airconditioner,TI versi on 30 DEF TRC=INT(X*100)/100 35 MI=10A10 40 CALL CLEAR 45 DIM E(10,12),D(10,12) 46 REM currently set up to handle 10 yrs of data 60 PRINT "choosing an air conditioner

"••••••••a 70 PRINT "insert a data tape with dat afile ": : s : : 80 PRINT "press any key to continue" 85 GOSUB 260 90 GOSUB 230 lOO PRINT :::: 105 PRINT "using ";C*;" data" 108 PRINT "from ";EY;" in calculation s": : i : HO I=N 112 FOR M=l TO 12 114 X=E(I,M) 116 IF X<=0 THEN 130 118 J=J+1 120 S=S+E 122 IF X>MI THEN 130 125 MI=X 130 NEXT M 135 S=S-MI*J 140 PRINT ::: :

179 150 INPUT "seer o-f old air conditione r? "iBS 155 PRINT : : : 160 INPUT "seer of new air conditione r? "sNS 165 PRINT : :: 170 INPUT "current cost of electricit y in cents/kwh = ? ": CO 175 PRINT ::: 180 Y=TRC(CO*S*BS*<1/BS-1/NS>/lOO) 190 PRINT "annual savings o-f new <7 SPACESJair conditioner as comp ared to the old unit= *";Y 200 END 220 REM get data, c*= -file name, n=yrs ,by=beg yr, ey=end yr,e()=energy, d<)=cost 230 OPEN #2:"CS1",INTERNAL,INPUT ,FIX ED 128 235 INPUT #2:C*,N,BY,EY 240 F8R 1=1 TO N 242 INPUT #2:E,E(I,3),D(I,3),E,E ,E,E ,D(I,7) 244 INPUT #2:E,E,b

180 Program 7* AppleVersion.

10 REM CHOOSING AN AIRCONDITIONER APPLE VERSI ON 20 D$=CHR$(4):TEXT:HOME 30 DEF FNTRC(X)=INT(X*100)/100 40 FORI=lTON:FORM=lT012 50 MI=1E10:J=0 60 PRINTTAB(05);"CHOOSING AN":PRINTTAB(4);"AI RCONDITIONER" 70 PRINT:PRINT:PRINT"INSERT DISK WITH DATA FI LE 'ELECT * " 80 PRINT"HIT RETURN AFTER":PRINT"INSERTING TA PE" 85 GETA$:IFA$<>CHR$(13)THEN85 90 GOSUB230 100 PRINT:PRINT "USING DATA FROM";EY:PRINT"IN " CALCULATIONS" 110 I=N:FORM=lTOl2:X=E(l,M) 120 IFX>0THENJ=J+1:S=S+E(I,M):IFX

181 w w w w w W w w

w

w w w> w w w w g

w w w

W w w

w w •w w

• 8

Window Heat Loss/Gain

In a typical home, the sunlight transmitted through the windows accounts for 10-14% (ref. 1)of the total air conditioning cost. This can be equal to the savings accrued by installing storm windows or adding attic insulation in some regions of the United States. Furthermore, shielding windows by planting trees or using solar screens is usually much less expensive than adding insulation or storm windows (especially if you treat only the windows which need shading). The window analysis program described here will allow you to calculate how much is saved by shading windows in the summer and augmenting the winter heating by allowing sunlight into the home. Also, the program can be used for planning solar collector systems, designing greenhouses, evaluating the merit of adding skylights, or enclosing porches with glass. As shown in Tables 1 and 2, the user inputs the latitude, the latitude, the size of the window, the tilt of the window from the horizontal, the azimuth (compass directions) that the window faces, and chooses either heating or cooling analysis to be performed. If cooling analysis is desired, the user inputs the capacity (tons) of the cooling system, the current it draws (amps), and the cost of the electricity. If the user chooses heating analysis, he must input the cost of natural gas. Both fuel savings, economic savings and the accrued energy in BTU/sq. ft. are printed by month and season. Because the window azimuth and elevation angle permit any angle window to be analyzed, a variety of applications is possible. In my residence, the east-facing windows cause almost $100 in excess cooling cost, whereas the winter gain is about a factor of three smaller. At the low latitude of my residence, south-facing windows do not contribute significantly to the heat load in the summer, but are important in reducing heating cost when the sun is lower in the southern sky. The Calculations The program uses eight basic equations, which describe the physical amount of sunlight and the angle at which it falls on the window's surface (refs. 2 and 3).

185 8

The day of the year (DOY) is calculated from the month (M) and the day of month (D). The solar declination (DE) is calculated from the day of year. The cosine of the zenith angle of the sun (Al) is calculated from the solar declination, the hour angle, and solar elevation angle (AL). The direct solar irradiance is calculated from the apparent solar irradiance at zero air mass (AO), the atmospheric extinction coefficient (BETA), and solar elevation angle (AL). The diffuse irradiance is calculated from the tilt of the window (TI) and the direct solar flux (GN). The cosine of the angle between the vector perpendicular to the window and the vector to the sun is calculated, based on the window tilt (TI), the window azimuth (BI), the sun's azimuth (AZ), and the sun's zenith angle (Z). Finally, the total flux transmitted through the window (GL)is calculated and summed by month (TT) and by season (SL). The integration of transmitted energy during a day is accomplished in the FOR loop from lines 370 to 712. In this loop, calculations are made during a day for hour angles (HE) of minus 120 degrees (4 a.m. local solar time) to plus 120 degrees (8 p.m. local solar time). It is assumed that this calculation is valid for ten days. The integration by month is accomplished by calculating three ten-day intervals per month. The conversion from energy to utility usage is made assuming that 1100 BTU are produced by each cu. ft. of natural gas and that air conditioner run time can be calculated from BTUs by the factor 12,000 BTU/(hr. ton). Kilowatt hours are calculated from volts times amps times time divided by 1000. The program is designed to be used at any latitude (except 0). However, if southern hemisphere calculations are desired, the seasons must be switched (the starting month M for heating =11, and for cooling = 5). Similarly, the lengths of the heating and cooling seasons must be modified from 152 days and the printing routine should be modified for heating and cooling seasons appropriate to the long season regions. Special transmission functions for double glazed glass or solar film may be substituted as desired for the subroutine in lines 2000-2050.

References 1. Houston Lighting and Power Residential Conservation Services. Austin, Texas: Planenergy Inc., 1981. 2. Klen, David C. "Solar Specs." Microcomputing, March 1980, pp. 68-70. 3. Yellot, John I. Solar Energy Utilization for Heating and Cooling. NSF 74-41. Washington, D. C: Government Printing Office, 1974.

186 8

Table 1 ♦ Heating Savings Due To Window Heating.

WINDOW ANALYSIS - SOLAR TRANSMISSION

LATITUDE(DEG)? 30

ANALYSIS DESIRED: 1) HEATING 2) COOLING ? 1

# SQ FT OF WINDOWS FOR EVALUATION? 70

WINDOW TILT FROM HORZ, NORMAL = 90? 90 WINDOW AZIMUTH (N=0,S=180), DEG? 90

COST OF NATURAL GAS (CENTS/CU FT)? .37

MONTH = 11 TOTAL = 19554.29 BTU/(SQ FT) NATURAL GAS SAVED = 12.44 100 CU FT DOLLAR SAVINGS = $ 4.6

MONTH = 12 TOTAL = 17299.96 BTU/(SQ FT) NATURAL GAS SAVED = 11 100 CU FT DOLLAR SAVINGS = $ 4.07

MONTH = 1 TOTAL = 17660.93 BTU/(SQ FT) NATURAL GAS SAVED = 11.23 100 CU FT DOLLAR SAVINGS = $ 4.15

MONTH = 2 TOTAL = 21405.49 BTU/(SQ FT) NATURAL GAS SAVED = 13.62 100 CU FT DOLLAR SAVINGS = $ 5.04

MONTH = 3 TOTAL = 25082.35 BTU/(SQ FT) NATURAL GAS SAVED = 15.96 100 CU FT DOLLAR SAVINGS = $ 5.9

MONTH = 4 TOTAL = 26858.1 BTU/(SQ FT) NATURAL GAS SAVED = 17.09 100 CU FT DOLLAR SAVINGS = $ 6.32

ANNUAL SAVINGS:

NATURAL GAS SAVED = 81.36 100 CU FT DOLLAR SAVINGS = $ 30.1

187 8

Table 2* Extra Cooling Due To Window Heating.

WINDOW ANALYSIS - SOLAR TRANSMISSION

LATITUDE(DEG)? 30

ANALYSIS DESIRED: 1) HEATING 2) COOLING ? 2

# SQ FT OF WINDOWS FOR EVALUATION? 70

WINDOW TILT FROM HORZ, NORMAL = 90? 90 WINDOW AZIMUTH (N=0,S=180), DEG? 90 AIR CONDITIONER TONS? 4 ENTER AMPS OF AIR CONDITIONER (IF NOT KNOWN HIT )? 30 COST FOR ELECTRICITY, CENTS/KWH? 6.55

MONTH = 5 TOTAL = 27086.46 BTU/(SQ FT) POWER EXPENDED = 260.7 KWH COOLING COST DUE TO WINDOW = 17.07 DOLLARS

MONTH = 6 TOTAL = 27118.47 BTU/(SQ FT) POWER EXPENDED = 261.01 KWH COOLING COST DUE TO WINDOW = 17.09 DOLLARS

MONTH = 7 TOTAL = 26652.02 BTU/(SQ FT) POWER EXPENDED = 256.52 KWH COOLING COST DUE TO WINDOW = 16.8 DOLLARS

MONTH = 8 TOTAL = 26268.8 BTU/(SQ FT) POWER EXPENDED = 252.83 KWH COOLING COST DUE TO WINDOW = 16.56 DOLLARS

MONTH = 9 TOTAL = 25223.88 BTU/(SQ FT) POWER EXPENDED = 242.77 KWH COOLING COST DUE TO WINDOW =15.9 DOLLARS

MONTH = 10 TOTAL = 23689.78 BTU/(SQ FT) POWER EXPENDED = 228.01 KWH COOLING COST DUE TO WINDOW = 14.93 DOLLARS

ANNUAL SAVINGS:

POWER EXPENDED = 1501.87 KWH COOLING COST DUE TO WINDOW = 98.37 DOLLARS

188 I C(((C(( i i i I C I C C CC C ( ( i ( C i i i i C f ( C ( < i f

Program 1. OSI Version. 10 REM xxxxxxxxxxWINDOW HEATING ANALYSISxxxxxxxxxxxxxx 30 REM PROGRAM CALCULATES SOLAR RADIATION TRANSMITTED 31 REM THROUGH A WINDOW GIVEN LATITUDE, AZIMUTH AND ZENITH AND 32 REM ANGLE OF WINDOW 35 REM AL=SOLAR ALTITUDE,HE=HR ANGLE,DE=DECLINATIQN REMTR=TRANSMISSION,SL=SEASONAL TOTAL BTU/SQ FT,TT = MONTHLY 3736 REM TM=TIME;"D. E. PITTS" 47 PRINT tPRINT 48 PI-3.14159 %P2=PI/21DIMBETA<12 >,AO <12) 50 DEFFNRAD(A)=A*FI/180 51 DEFFNASN(B)=ATN =ATN< DEFFNTRC(E)=INT 240 F0RI=1T0121READAO(I),BETA(I)I NEXT O 250 INPUT" # SQ FT OF WINDOW FOR EVALUATION"J FT:PRINT 00 260 PRINT:INPUT"WINDOW TILT FROM HORZ, NORMAL=9 0" JTItTl==TI 261 INPUT'WINDOW AZIMUTH 262 BI=FNRAD(BI):IFX=1THEN310 263 INPUT"AIRCONDITIONER TONS"JT:T=Tx12000 264 INPUT"ENTER AMPS OF AIRCONDITIONER, IF NOT KNOWN ENTER 0"?SE 265 IFSE<1THENSF=?5 267 INPUT"COST FOR ELECTRICITY, CENTS/KWH"JC:G0TQ335 310 PRINT:iNPUT"COST OF NATURAL GAS (CENTS/CU FT)"JC 335 PRINT :PRINT :PRINT :PRINT! AB(5 )J"WINDOW HEA f'ING ANALYSIS BY DIRECT SUNLIGHT"' 340 PRINTTAB<17)J"LATITUDE = "JL1;"DEG" 345 PRINT:PRINT"WINDOW ANGLE "iT1t"DEG" >B<29>J"WINDOW AZ= "JB1J" DEG" 348 PRINT: TT== 0 :FOR J-1T03 350 X=FNRAD< DOY-82) x 18 0/182.51X=23.5XSIN

355 M=1:1F D O Y > 31T HEN M::::IN T < 9 5THENPOKE55104,95 JG OT O410 373 IFPEEK(55104)=95THENP0KE55104,161:REMCURSOR 410 Al=COS(DE)xCOS(AN)xCOS(LAT)+SIN(DE)xSIN(LAT) 420 X=FNACS(Al):AL-P2-X

M ( M (( H ( ( t € € € t € C•(((((((( t € till € I C I i i I I' ( € I C I I i i i C I i I I' i i < < i c C f C < I C C

425 IFAL>P2THENAL=AL-PI 440 A2=C0S(DE)xSIN(AN)/COS(AL) 441 REM IFA2<-lTHENA2=-*9999 442 REM IFA2>1THENA2«.9999 445 X=(COS(DE)xCOS< AN)-SIN(AN)xCOS(LAT))/(COS(AN)xSIN(LAT)) 450 AZ=FNASN(A2)+PI:Z=P2-AL:IFX365thendoy=doy-365 713 nextjprint"month= "*tab<9)jmjtab<29)?"total = "i tab(38)jfntrc(tt)j 714 printtab(48)j"btu/(sq ft)" 715 g0sub719sifdd<152then348 717 tt=sl:print" 718 print"annual savings!":print:g0sub719:fori=lt010 0 0 jnext:run48 719 ifm>4andm<11then80 0 720 p-ttxft/110000:print"natural gas saved "jfntrc(p)j" 100 cu ft" 730 print"dollar savings "jfntrc(pxc) 740 print:print"

«o OO 750 PRINT:RETURN 800 TM=TTxFT/T:P=220xSExTM/10 00 OO 805 PRINT"POWER EXPENDED "JFNTRC(P)J"KWH"

810 PRINT'TOOLING COST DUE TO WINDOW" *,FNTRC (C*P/10 0 )$ "DOLLARS" 820 PRINT: PRINT" 830 PRINT 1000 RETURN 2000 REM GET TRANSMITTANCE FOR SINGLE GLAZED GLASS 2010 IFIN<,87266THENTR=,87:G0T0210 0 2020 IFIN>1,2218THEN2Q50 2030 CI=

4 4 11 f (.((((((((((.((((( ((((((((( i t 1 8

Program 2* VIC Version.

10 REMWINDOW HEATING ANALYSIS VIC VERSION

3 0 REM PROGRAM CALCULATES SOLAR RADIATION TRA NSMITTED 31 REM THROUGH A WINDOW GIVEN LATITUDE, AZIMU TH AND ZENITH AND 3 2 REM ANGLE OF WINDOW 35 REM AL=SOLAR ALTITUDE, HE=HR ANGLE, DE=DEC LINATION 36 REM TR=TRANSMISSION,SL=SEASONAL TOTAL BTU/ SQ FT, TT=MONTHLY 37 REM TM=TIME(HRS),AO=APPARENT SOLAR IRRADIA NCE AT ZERO AIR MASS 38 REM BETA=ATMOSPHERIC EXTINCTION COEFFICIEN T 44 PRINT"{CLEAR} WINDOW ANALYSIS{DOWN} SOLAR TRANSMISSION{DOWN}" 48 PI=3.14159:P2=PI/2:DIMBETA(12),AO(12) 50 DEFFNRAD(A)=A*PI/180 51 DEFFNASM(B)=ATN(B/(SQR(1-Bt2))) 52 DEFFNACS(C)=ATN((SQR(1-CT2))/C) 53 DEFFNDEG(D)=INT((D*180)/PI) 54 DEFFNTRC(E)=INT(E*100)/100 55 DEFFNFUN(F)=F*180/PI 200 PRINT"LATITUDE(DEG)";:INPUTLAT:L1=LAT:LAT= FNRAD(LAT) 223 PRINT"{DOWN}ANALAYSIS DESIRED{DOWN}":PRINT "1)HEATING":PRINT"2)COOLING" 225 M=11:INPUTX:D=1:IFX=2THENM=5 2 26 IFM<3THENDOY=M*31-31+D:GOTO240 227 DOY=INT(M*30.6-32.3+D):REM DAY OF YEAR 240 FORI=lT012sREADAO(I),BETA(I):NEXT 250 PRINT"{DOWN}# SQ FT OFWINDOWS FOR EVALUATI ON":INPUTFT 260 PRINT"{DOWN}WINDOW TILT FROM HORZ, NORMAL " = 90":INPUTTL:T1=TL 261 PRINT"{DOWN}WINDOW AZIMUTH (N=0,S=180), DE G":INPUTBI:B1=BI:TL=FNRAD(TL) 262 BI=FNRAD(BI):IFX=1THEN310 263 PRINT"AIRCONDITIONER TONS";:INPUTT:T=T*120 00

193 8

264 SE=25:PRINT"ENTER AMPS OF AIRCONDITIONER, ~ IF NOT KNOWN HIT ":INPUTSE 267 PRINT"COST FOR ELECTRICITY, CENTS/KWH":INP UTC:GOT0335 310 PRINT"{DOWNjCOST OF NATURAL GAS (CENTS/CU ~ FT)":INPUTC 335 PRINT"{CLEAR} WINDOW ANALYSIS" 340 PRINT"LATITUDE = ";L1;"DEG" 345 PRINT"{DOWN}WINDOW ANGLE ";TI;"DEG":PRINT" WINDOW AZ= ";B1;" DEG" 346 PRINT"{DOWN}WAIT" 348 PRINT:TT=0:FORJ=1TO3 350 X=FNRAD(DOY-82)*180/182.5:X=23.5*SIN(X):HE =-135 355 M=l:IFDOY>31THENM=INT((DOY+32.3)/30.6) 360 DE=FNRAD(X) 370 FORI=0TO16:AM=4+I:HE=HE+15:AN=FNRAD(HE) 410 Al=COS(DE)*COS(AN)*COS(LAT)+SIN(DE)*SIN(LA T) 4 20 X=FNACS(Al):AL=P2-X 4 25 IFAL>P2THENAL=AL-PI 440 A2=COS(DE)*SIN(AN)/COS(AL) 445 X=(COS(DE)*COS(AN)-SIN(AN)*COS(LAT))/(COS( AN)*SIN(LAT)) 4 50 AZ=FNASN(A2)+PI:Z=P2-AL:IFX<0THENAZ=PI-AZ 470 IFAL

575 IN=FNACS(A3):IFIN<0THENTR=0:GOTO600 590 GOSUB2000 600 GL=(GN*A3*TR+GD)*10:TT=TT+GL:SL=SL+GL 712 NEXT:DD=DD+10:DOY=DOY+10:IFDOY>365THENDOY= DOY-365 713 NEXT:PRINT"MONTH= ";M;"TOTAL=":PRINTFNTRC( TT) ;"BTU/(SQ FT) " 715 GOSUB719:IFDD<152THEN348 717 TT=SL: PRINT" " 718 PRINT"ANNUAL SAVINGS{DOWN}":GOSUB719:RUN48

719 IFM>4ANDM<11THEN800 7 20 P=TT*FT/110000:PRINT"NATURAL GAS SAVED=":P RINTFNTRC(P);" 100 CU FT"

194 8

7 30 PRINT"DOLLAR SAVINGS ";FNTRC(P*C) 740 PRINT" {DOWN} ":PRINT:RE TURN 800 TM=TT*FT/T:P=220*SE*TM/1000 805 PRINT"POWER EXPENDED ";FNTRC(P);n KWH" 810 PRINT"COOLING COST DUE TO WINDOW=":PRINTFN TRC(C*P/100)/"DOLLARS" 8 20 PRINT" {DOWN} {DOWN} " 1000 RETURN 2000 REM GET TRANSMITTANCE FOR SINGLE GLAZED GL ASS 2 010 IFIN<.87266THENTR=.87:GOTO2100 2020 IFIN>1.2218THEN2050 2030 CI=(IN-.8726639)*4.5:TR=.16*COS(CI)+.68:GO TO2100 2050 TR=3.0599-1.948*IN:IFTR<0THENTR=0 2100 RETURN 4 000 DATA390,.142,385,.144,376,.156,360,.18,350 ,.196,345,.205,344,.207 4002 DATA351,.201,365,.177,378,.16,387,.149,391 ,.142 5000 END

Program 3. Microsoft Version.

10 REM WINDOW HEATING ANALYSIS 30 REM PROGRAM CALCULATES SOLAR RADIATION TRA NSMITTED 31 REM THROUGH A WINDOW GIVEN LATITUDE, AZIMU TH AND ZENITH AND 35 REM AL=SOLAR ALTITUDE, HE=HR ANGLE, DE=DEC LINATION 36 REM TR=TRANSMISSION,SL=SEASONAL TOTAL BTU/ SQ FT, TT=MONTHLY 37 REM TM=TIME(HRS),AO=APPARENT SOLAR IRRADIA NCE AT ZERO AIR MASS 38 REM BETA=ATMOSPHERIC EXTINCTION COEFFICIEN T 44 PRINT"{CLEAR} WINDOW ANALYSIS{ DOWN} SOLAR TRA NSMISSION{DOWN}" 48 PI=3.14159:P2=PI/2:DIMBETA(12),AO(12) 50 DEFFNRAD(A)=A*PI/180

195 \^0

8

51 DEFFNASN(B)=ATN(B/(SQR(1-Bt2))) ^ 52 DEFFNACS(C)=ATN((SQR(1-Ct2))/C) 53 DEFFNDEG(D)=INT((D*180)/PI) 54 DEFFNTRC(E)=INT(E*100)/100 w 55 DEFFNFUN(F)=F*180/PI 200 PRINT"LATITUDE(DEG)";:INPUTLAT:L1=LAT:LAT= w

FNRAD(LAT) V^i/' 223 PRINT"{DOWN}ANALAYSIS DESIRED{DOWN}'.':PRINT "1)HEATING":PRINT"2)COOLING" w 225 M=11:INPUTX:D=1:IFX=2THENM=5 Ve»y 226 IFM<3THENDOY=M*31-31+D:GOTO240 227 DOY=INT(M*30.6-32.3+D):REM DAY OF YEAR w 240 F0RI=1T012:READAO(I),BETA(I):NEXT 250 INPUT"{DOWN}# SQ FT OFWINDOWS FOR EVALUATI w ON";FT Vub/' 260 INPUT"{DOWN}WINDOW TILT FROM HORZ, NORMAL= 90";TL:T1=TL w 261* INPUT"{DOWN}WINDOW AZIMUTH (N=0,S=180), DE G";BI:B1=BI:TL=FNRAD(TL) ^ 262 BI=FNRAD(BI):IFX=1THEN310 263 INPUT"AIRCONDITIONER TONS";T:T=T*12000 264 SE=25:PRINT"ENTER AMPS OF AIRCONDITIONER": w INPUT"IF NOT KNOWN HIT ";SE 267 INPUT"COST FOR ELECTRICITY, CENTS/KWH";C:G OT0335 310 INPUT"{DOWN}COST OF NATURAL GAS (CENTS/CU ~ FT)";C w 335 PRINT"{CLEAR} WINDOW ANALYSIS" 340 PRINT"{DOWN} LATITUDE = ";L1;"DEG W ii 344 PRINT" WINDOW ANGLE ";T1;"DEG" 345 PRINT" WINDOW AZ= ";B1;" DEG" w 346 PRINTTAB(15);"{04 DOWN}WAIT{05 UP}" 348 PRINT:TT=0:FORJ=lTO3 W 350 X=FNRAD(DOY-82)*180/182.5:X=23.5*SIN(X):HE w = -135 355 M=l:IFDOY>31THENM=INT((DOY+32.3)/30.6) w 360 DE=FNRAD(X) w 370 FORI=0TO16:AM=4+I:HE=HE+15:AN=FNRAD(HE) 410 Al=COS(DE)*COS(AN)*COS(LAT)+SIN(DE)*SIN(LA w T) 420 X=FNACS(A1):AL=P2-X w 425 IFAL>P2THENAL=AL-PI w 440 A2=COS(DE)*SIN(AN)/COS(AL) 445 X=(COS(DE)*COS(AN)-SIN(AN)*COS(LAT))/(COS( ** AN)*SIN(LAT))

196 \^0 8

450 AZ=FNASN(A2)+PI:Z=P2-AL:IFX

575 IN=FNACS(A3):IFIN<0THENTR=0:GOTO600 590 GOSUB2000 600 GL=(GN*A3*TR+GD)*10:TT=TT+GL:SL=SL+GL 712 NEXT:DD=DD+10:DOY=DOY+10:IFDOY>365THENDOY= DOY-365 713 NEXT:PRINT"MONTH= ";M;"TOTAL=";FNTRC(TT);" BTU/(SQ FT)" 715 GOSUB719:IFDD<152THEN348 717 TT=SL:PRINT"

718 PRINT"ANNUAL SAVINGS{DOWN}":GOSUB719:RUN48

719 IFM>4ANDM<11THEN800 720 P=TT*FT/110000:PRINT"NATURAL GAS SAVED=";F NTRC(P);" 100 CU FT" 730 PRINT"SAVINGS =$";FNTRC(P*C) 740 PRINT" ":RETURN 800 TM=TT*FT/T:P=220*SE*TM/1000 805 PRINT"POWER EXPENDED ";FNTRC(P);" KWH" 810 PRINT"COOLING COST DUE TO WINDOW= $";FNTRC (C*P/100) 820 PRINT"

1000 RETURN 2000 REM GET TRANSMITTANCE FOR SINGLE GLAZED GL ASS 2010 IFIN<.87266THENTR=.87:GOTO2100 2020 IFIN>1.2218THEN2050 2030 CI=(IN-.8726639)*4.5:TR=.16*COS(CI)+.68:GO TO2100 2050 TR=3.0599-1.948*IN:IFTR<0THENTR=0 2100 RETURN 4000 DATA390,.142,385,.144,376,.156,360,.18,350 ,.196,345,.205,344,.207 4002 DATA351,.201,365,.177,378,.16,387,.149,391 , .142 5000 END

197 8

Program 4. Atari Version.

lO REM ***WINDOW HEATING ANALYSIS*** 30 REM PROGRAM CALCULATES SOLAR {16 SPACES>RADIATION TRANSMITTED 31 REM THROUGH A WINDOW GIVEN LATITUD E, €8 SPACESJAZIMUTH AND ZENITH.AND 32 REM ANGLE OF WINDOW-DAVID PITTS £8 SPACES>16011 STONEHAVEN DR HOUS TON TX 77059 35 REM AL=SOLAR ALTITUDE,HE=HR ANGLE, €10 SPACES>DE=DECLINATION 36 REM TR=TRANSMISSION, SL=SEASONAL {12 SPACESJTOTAL BTU/SQ FT, TT=MONT HLY 37 REM TM=TIME(HRS),AO=APPARENT SOLAR {10 SPACES>IRRADIANCE AT ZERO AIR M ASS 38 REM BETA=ATMOSPHERIC EXTINCTION {13 SPACES>COEFFICIENT 44 PRINT CHR*(125) 45 ? "CSjCEECBEEIEaBaOaBPBaEaEEBDEECia

46 POKE 85,14 47 ? s? 48 PI=3.14159:P2=PI/2sDIM BETA<12),A0 (12):RAD 50 FRAD=100 51 FASN=HO 52 FACS=120 53 FDEG=130 54 FTRC=140 55 FFUN=150 60 GOTO 200 100 V=V*PI/180:RETURN 110 V=ATN(V/(SQR(1-V*V)))sRETURN 120 V=ATN((SQR(1-V*V))/V)sRETURN 130 V=INT(

198 8

223 PRINT "ANALYSIS DESIRED":PRINT "1 ) HEATING":PRINT "2) COOLING" 225 M=ll:INPUT X:D=1:IF X=2 THEN M=5 226 IF M<3 THEN D0Y=M*31-31+D:GOTO 24 O 227 DOY=INT(M*30.6-32.3+D)sREM DAY OF YEAR 240 FOR 1=1 TO 12:READ A:AO(I)=A:READ B:BETA(I)=B:NEXT I 250 PRINT "#SQ FT OF WINDOW FOR EVALU ATION";sINPUT FT:? 260 ? :? "WINDOW TILT FROM HORIZ, NOR MAL=90":INPUT TI:T1=TI 261 ? "WINDOW AZIMUTH(N=0,S=180) ,DEG" ;:INPUT BI:B1=BI:V=TI:GOSUB FRAD: TI=V 262 V=BI:GOSUB FRAD:BI=V:IF X=l THEN 310 263 ? "AIR CONDITIONER TONS";:INPUT T :T=T*12000 264 ? "ENTER AMPS OF AIR CONDITIONER" :? "IF NOT KNOW ENTER O"::INPUT S E 265 IF SE<1 THEN SE=25 267 ? "COST FOR ELECTRICITY, CENTS/KW H";:INPUT C:GOTO 335 310 ? :? "COST OF NATURAL GAS (CENTS/ CU FT)"::INPUT C 335 ? :? :? :? "WINDOW ANALYSIS BY DI RECT SUNLIGHT" 340 ? "LATITUDE=";L1:" DEG" 345 ? :? "WINDOW ANGLE ";T1;" DEG {3 SPACES>WINDOW AZ=";B1;" DEG" 348 ? :TT=0:FOR J=l TO 3 350 V=DOY-82:GOSUB FRAD:X=V*180/182.5 :X=23.5*SIN(X):HE=-135 355 M=1:IF D0Y>31 THEN M=INT((DOY+32. 3)/30.6) 360 V=X:GOSUB FRAD:DE=V 370 FOR 1=0 TO 16:AM=4+I:HE=HE+15:V=H E:GOSUB FRAD:AN=V

199 8

410 Al=COS(DE)*COS(AN)*COS(LAT)+SIN(D E)*SIN(LAT) 420 V=A1:GOSUB FACS:X=V:AL=P2-X 425 IF AL>P2 THEN AL=AL-PI 440 A2=C0S(DE)*SIN(AN)/COS(AL) 441 IF A2<-1 THEN A2=-0.9999 442 IF A2>1 THEN A2=0.9999 445 X=(COS(DE)*COS(AN)-SIN(AN)*COS(LA T))/(COS(AN)*SIN(LAT>) 450 V=A2:GOSUB FASN:AZ=V+PI:Z=P2-AL:I F X<0 THEN AZ=PI-AZ 470 IF AL365 THEN D0Y=D0Y-365 713 NEXT J:PRINT "MONTH=";M;" TOTAL= "::V=TT:GOSUB FTRC:PRINT V;" BTU/ (SQ FT)- 715 GOSUB 719:IF DD<152 THEN 348 717 TT=SL:? "

718 ? "ANNUAL SAVINGS!":? :GOSUB 719: FOR 1=1 TO 1000:NEXT I:CLR :GOTO 48 719 IF M>4 AND M<11 THEN 800 720 P=TT*FT/HOOOO:? "NATURAL GAS SAV ED ";:V=P:GOSUB FTRC:PRINT V;" 10 O CU FT" 730 PRINT "DOLLAR SAVINGS ";:V=P*C:GO SUB FTRC:PRINT V 740 ? :? "

200 8

750 ? :RETURN 800 TM=TT*FT/T:P=220*SE*TM/1000 805 ? "POWER EXPENDED ";:V=P:GOSUB FT RC:? V;" KWH" 810 ? "COOLING COST DUE TO WINDOW *"; :V=C*P/100:GOSUB FTRC:? V 820 ? :? " ••

830 ? 1000 RETURN 2000 REM GET TRANSMITTANCE FOR SINGLE GLAZED GLASS 2010 IF IN<0.87266 THEN TR=0.87:G0T0 2100 2020 IF IN>1.2218 THEN 2050 2030 CI=(IN-0.8726639)*4.5:TR=0.16*C0 S(CI)+0.68:G0T0 2100 2050 TR=3.0599-1.948*IN:IF TR<0 THEN TR=0 2100 RETURN 4000 DATA 390,.142,385,.144,376,.156, 360,.18,350,.196,345,.205,344,.2 07 4002 DATA 351,.201,365,.177,378,.16,3 87,.149,391,.142 5000 END

Program 5. Color Computer Version.

10 REM*WINDOW HEATING ANALYSIS* 20 REM PROGRAM CALCULATES SOLAR RADIATION TRA NSMITTED THROUGH A WINDOW 30 REM GIVEN LATITUDE, AZIMUTH AND ZENITH AND ANGLE OF WINDOW 3 5 REM AL=SOLAR ALTITUDE,HE=HR ANGLE,DE=DECLI NATION 36 REM TR=TRANSMISSION,SL=SEASONAL TOTAL BTU/ SQ FT,TT=MONTHLY 37 REM TM=TIME(HRS),AO=APPARENT SOLAR IRRADIA NCE AT ZERO AIR MASS 38 REM BETA=ATMOSPHERIC EXTINCTION COEFFICIEN T

201 8

44 CLS 45 PRINTTAB(8)"WINDOW ANALYSIS":PRINTTAB(7)"S OLAR TRANSMISSION" 46 PRINTTAB(10)"D. E. PITTS" 47 PRINT:PRINT 48 PI=3.14159:P2=PI/2:DIMBETA(12),AO(12) 50 DEFFNRAD(A)=A*PI/180 51 DEFFNAZN(B)=ATN(B/SQR(1-B 2)) 52 DEFFNACS(C)=ATN((SQR(1-C 2))/C) 53 DEFFNDEG(D)=INT((D*180)/PI) 54 DEFFNTRC(E)=INT(E*100)/100 55 DEFFNFUN(F)=F*180/PI 200 INPUT"LATITUDE(DEG)";LAT:L1=LAT:LAT=FNRAD( LAT) 2 23 PRINT"ANALYSIS DESIRED":PRINT" 1) HEATING" :PRINT" 2) COOLING" 225 M=11:INPUTX:D=1:IFX=2THENM=5 2 26 IFM<3THENDOY=M*31-31+D:GOTO240 227 DOY=INT(M*30.6-32.3+D):REM DAY OF YEAR 228 PRINT 240 FORI = lT012:READAO(I),BETA(I) :NEXT 2 50 INPUT"# SQ FT OF WINDOW FOR EVALUATION";FT :PRINT 260 INPUT"WINDOW TILT FROM HORZ, NORMAL=90";TI :T1=TI 261 INPUT"WINDOW AZIMUTH(N=0,S=180), DEG";BI:B 1=BI:TI=FNRAD(TI) 262 BI=FNRAD(BI):IFX=1THEN310 263 INPUT"AIRCONDITIONER TONS";T:T=T*12000 264 INPUT"ENTER AMPS OR AIRCONDITIONER, IF NOT KNOWN ENTER 0";SE 265 IFSE<1THENSE=25 267 INPUT"COST FOR ELECTRICITY, CENTS/KWH";C:G OT0335 310 PRINT:INPUT"COST OF NATURAL GAS (CENTS/CU ~ FT) ";C 3 35 CLS:PRINTTAB(5)"WINDOW HEATING ANALYSIS":P RINTTAB(7)"BY DIRECT SUNLIGHT" 340 PRINTTAB(6)"LATITUDE = ";L1;"DEG" 345 PRINTTAB(6)"WINDOW ANGLE= ";TI;"DEG":PRINT TAB(6)"WINDOW AZ= ";B1;"DEG" 348 TT=0:FORJ=1TO3 350 X=FNRAD(DOY-82)*180/182.5:X=23.5*SIN(X):HE = -135 355 M=l:IFDOY>31THENM=INT((DOY+32.3)/30.6)

902 8

360 DE=FNRAD(X) 3 70 FORI=0TO16:AM=4+I:HE=HE+15:AN=FNRAD(HE) 372 IFPOINT(0,0)=-1 OR POINT(0f0)=0 THENSET(0, 0,1):GOTO410 373 IFPOINT(0,0)=1THENRESET(0,0) 410 Al=COS(DE)*COS(AN)*COS(LAT)+SIN(DE)*SIN(LA T) 420 X=FNACS(A1):AL=P2-X 425 IFAL>P2 THENAL=AL-PI 440 A2=COS(DE)*SIN(AN)/COS(AL) 441 REM IF A2<-1THENA2=.9999 442 REM IF A2>1THENA2=.9999 445 X=(COS(DE)*COS(AN)-SIN(AN)*COS(LAT))/(COS( AN)*SIN(LAT)) 4 50 AZ=FNAZN(A2)+PI:Z=P2-AL:IFX<0THENAZ=PI-AZ 4 70 IFAL365THENDOY= DOY-365 713 NEXT:SOUND200f3:PRINT"MONTH= ";M:PRINT"TOT AL= ";FNTRC(TT);"BUT/(SQ FT)" 715 GOSUB719:IFDD<152THEN348 716 FORZZ=1TO5:SOUND50#1:FORZY=1TO3:NEXT:NEXT 717 TT=SL:PRINT"

718 PRINT"ANNUAL SAVINGS! ": PRINT-.GOSUB719 : FORI =1TO1000:NEXT:RUN48 719 IFM>4ANDM<11THEN800 720 P=TT*FT/110000:PRINT"NAT. GAS SAVED";FNTRC (P);"100 CU FT" 7 30 PRINT"DOLLAR SAVINGS ";FNTRC(P*C) 7 40 PRINT" " 7 50 RETURN 800 TM=TT*FT/T:P=220*SE*TM/1000 8 05 PRINT"POWER EXPENDED "; FNTRC(P);"KWH" 810 PRINT"COOLING COST DUE TO WINDOW":PRINTFNT RC(C*P/100);"DOLLARS" 8 20 PRINT" "

203 8

1000 RETURN 2000 REM GET TRANSMITTANCE FOR SINGLE GLAZED GL ASS 2 010 IFIN<.87266THENTR=.87:GOTO2100 2020 IFIN>1.2218THEN2050 2 030 CI=(IN-.8726639)*4.5:TR=.16*COS(CI)+.68:GO TO2100 2 050 TR=3.0599-1.948*IN:IFTR

Program 6. TI-99 Version.

10 REM window heating analysis C3 SPACES* 30 REM program calculates solar radia tion transmitted through a window given latitude, azimuth and zenith and 32 REM angle of window 35 REM al=solar altitude, he=hr angle , de=dec1ination 36 REM tr=transmission, sl=seasonal t ot£l btu/sq ft, tt=monthly 37 REM tm=time(hrs), aO=apparent sola r irradiance at zero air mass, bet a=atmospheric extinction coefficie nt 44 CALL CLEAR 45 PRINT "{7 SPACES>window analysis" 46 PRINT "{6 SPACES>solar transmissio n"s : s : : s 47 DIM BETA(12) , ACX12) 48 PI=3.14159 49 P2=PI/2 50 DEF RAD(A)=A*PI/lSO 51 DEF ASN))

204 8

52 DEF ACS=INT< )/PI ) 54 DEF TRC=INT/IOO 55 DEF FUN cooling" 223 M=ll 224 INPUT X 225 IF X<>2 THEN 228 226 M=5 228 IF M>=3 THEN 232 229 DOY=M*31-31+D 230 GOTO 235 232 D0Y=INT 235 FOR 1=1 TO 12 236 READ AO 240 NEXT I 245 PRINT 250 INPUT "# sq ft of window for €6 SPACES>evaluation? "sFT 252 PRINT 255 INPUT "window tilt from horz, £6 SPACES*normal=90? ":TI 257 T1=TI 258 PRINT 259 INPUT "window azimuth

205 VHP/

8 Sip'

272 INPUT "enter amps of aircondition ^ er, if not known enter 0? ":SE ^ 273 PRINT 275 IF SE>C THEN 280 ^

280 INPUT "cost for electricity, cent s/kwh? ":C ^ 282 GOTO 335 ^ 310 INPUT "cost of natural gas (cents /cu ft)? ":C W 335 PRINT s s s s s ^ 336 CALL CLEAR 337 PRINT "window heating analysis by w {8 SPACES>direct sunlight" ^ 338 PRINT : s 340 PRINT "latitude = ";L1;" deg" ^ 342 PRINT ^ 345 PRINT "window angle= ";Tl;"deg" 346 PRINT W 347 PRINT "window az= ";B1;" deg" ^ 348 TT=G 349 PRINT w 350 FOR J=l TO 3 w 352 X=RAD(DOY-82)*180/1S2-5 353 X=23.5*SIN(X) * 354 HE=-135 w 355 M=l 356 IF DOY<=31 THEN 360 ^ 357 M=INT((DOY+32.3)/30-6) ^ 360 DE=RAD(X) 370 FOR 1=0 TO 16 ** 372 AM=4+I ^ 374 HE=HE+15 376 AN=RAD(HE) ^

378 CALL SCREEN(3+I/2) Sip1 410 Al=COS(DE)*C0S(AN)*COS(LAT)+SIN(D E)tSIN(LAT) ^ 420 X=ACS(A1) ^ 422 AL=P2-X 425 IF AL<=P2 THEN 440 ^ Hm. / fiL= nL~r 1 ^^ 440 A2=COS(DE)*SIN(AN)/COS(AL)

ZUu yggpr 8

445 X= *COS(AN)-SIN(AN)*COS(LA T))/(COS(AN)*SIN(LAT)) 450 AZ=ASN(A2)+PI 452 Z=P2-AL 455 IF X>=0 THEN 470 456 AZ=PI-AZ 470 YY=RAD(1) 471 IF AL>=YY THEN 480 473 GN=0 475 GOTO 490 480 GN=AO(M)/EXP(BETA(M)/SIN(AL)) 490 GD=GN*.75*(l+COS(TI) )/12 560 A3=C0S(Z)*COS(TI)+SIN(Z)*SIN(T1)* COS(AZ)*COS(BI> 570 A3=A3+ SIN(Z> *SIN(TI)*SIN(AZ)*SIN( BI) 575 IN=ACS(A3) 580 IF IN>=0 THEN 590 582 TR=0 585 GOTO 600 590 GOSUB 2000 600 GL=(GN*A3*TR+GD)*10 605 TT=TT+GL 61 O SL=SL+GL 700 NEXT I 702 DD=DD+10 704 DOY=DOY+10 706 IF DOY<366 THEN 708 707 DOY=DOY-365 708 NEXT J 710 YY=TRC(TT) 711 PRINT "month= ";M;" total == " ; YY ;" btu/sq ft" 712 CALL SOUNDdOO, 1000,0) 713 GOSUB 725 714 IF DD<152 THEN 348 715 TT = SL PDTMT •• 716 rn liM 1 ii

718 PRINT "annual savings!": : 719 GOSUB 725

207 8

720 END 725 IF (M>4)*(M<11)THEN 800 726 P=TT*FT/1lOOOO 727 YY=TRC(P) 728 PRINT "natural gas saved= YY 729 YY=TRC(P*C) 730 PRINT 'dollar savings = YY 740 PRINT

750 PRINT 751 RETURN 800 TM=TT*FT/T 802 P=220*SE*TM/1000 804 YY=TRC(P) 805 PRINT "power expended ": YY: kwh 809 YY=TRC(C*P/100) 810 PRINT "cooling cost due to window = ";YY;" dollars" 820 PRINT "

830 PRINT lOOO RETURN 2000 REM get tr ansini 11ance for si ngle glazed glass 2010 IF IN>=.87266 THEN 2020 2012 TR=.87 2014 GOTO 2100 2020 IF IN>1.2218 THEN 2050 2030 CI=(IN-.8726639)*4-5 2035 TR=.16*C0S(CI)+.68 2040 GOTO 2100 2050 TR=3.0599-1.948*IN 2055 IF TR>0 THEN 2100 2060 TR=0 2100 RETURN 4000 DATA 390,.142,385,.144,376,.156, 360,.18,350,.196,345,.205,344,.2 07 4002 DATA 351,.201,365,.177,378,.16,3 87,.149,391,.142 5000 END

208

• Window Shading Analysis

In "Window Heat Loss/Gain" (see Chapter 8), I discussed how to calculate the effect of solar heating on heating and cooling cost. If you have used that program, then you know that south-facing windows can augment winter heating to a substantial degree, while east- and west-facing windows can cause the homeowner substantial penalties in air conditioning cost. In order to eliminate this unneeded burden on the summer budget, you should shade the affected windows. One of the most effective means is to plant a deciduous tree, and let mother nature install and remove the shade with the seasons. Your second best choice is to add a solar screen or put up an awning. Whether you are installing an awning, building a house, or remodeling, the decision of where to place the shading device is always a difficult one. For south-facing windows at local solar noon, calculate the angle from the horizon to the sun by simply adding 90 degrees to the latitude and subtracting the solar declination from the sum. Add a little trigonometry, and you can design the depth of overhang necessary to shade the window in summer, yet permit sunlight in the window in winter. However, for early morning or late afternoon the geometry gets more complicated. It gets even more complex when the window faces any direction other than south. The window shading program calculates the depth of an eave (distance out from the house) which is necessary to cast a shadow on the wall of a given dimension (SH).The program also calculates the shadow cast on the wall from an eave of a fixed size (EV). Both calculations are made simultaneously, and either factor (SH or EV) may be set to zero if that particular option is not needed. The calculations are done each hour of the day from 6 a.m. to 6 p.m. so that the varying conditions in the day can be examined. At times, no eave of any size will shade the desired area; at other times, no shadowing may be necessary since the sun is on

211 the other side of the house. These instances are indicated in the output table, with zeros for the size of the eave or length of the shadow. At times the program will call for extraordinarily large eaves in order to perform the required shading. It is left up to you to choose dimensions which are architecturally sound and esthetically pleasing. The inputs required for the program are latitude (LAT), month (M), day (D), the amount of shade required (SH), the size of the eave (EV), and the window azimuth (the direction the window faces). The outputs are the local solar time, the azimuth of the sun (AZ), the altitude of the sun above the horizon (AL), the zenith angle of the sun (Z), and the depth of the eave from the house necessary to produce the required shade, and the length of the shadow on the wall. Thus, if you wanted a window shaded in the summer, the program would be run for June 20 (summer solstice), setting the amount of shade (SH)as the distance between the bottom of the window and the bottom of the eave (Table 1). In order to calculate the size of eave necessary to allow sunlight in the window, the program should be run for December 20 (winter solstice) using the distance between the top of the window and the bottom of the eave. Then you must compare the two results and how they vary during a day to decide on an optimum size overhang. Once you choose this optimum size overhang, then you should use the option of setting a constant overhang distance (EV)and running cases for all critical seasons to verify that the eave size was chosen correctly. An example of this type of run is given in Table 2. The program is very simple. Lines 30 to 130 set up the functions, constants, and titles. Lines 140 to 180 calculate the day of year (DOY)and solar declination (DE)from the month and day. Lines 190 to 290 input the geometry of the eave, shadow, and latitude, and set up the table headings. Line 300 starts the FOR loop for time of day (AM) and converts it to hour angle (HE). Lines 310 to 350 calculate the altitude and azimuth of the sun (AL and AZ respectively), using standard formulas. Lines 360 and 370 calculate the projection of the eave on the wall and vice versa.

Reference Klen, David C. "Solar Specs." Microcomputing, March 1980, pp. 68-70.

212 w Table 1♦ Sample Run — Required Eave Size.

WINDOW SHADING

PROGRAM CALCULATES THE SIZE EAVE NECESSARY TO SHADE Vijjlli/ A WINDOW FACING ANY DIRECTION FROM DIRECT SUNLIGHT

^ PROGRAM ALSO CALCULATES THE SIZE SHADOW ON THE WALL PRODUCED BY AN EAVE OF A GIVEN SIZE l^ LATITUDE(DEG)? 30 W MONTH? 6 DAY? 20 ^ DISTANCE EAVE PROJECTS FROM WALL (ANY UNITS ARE OK)? HEIGHT OF EAVE ABOVE DESIRED W LOC OF SHADE (ANY UNITS ARE OK)? 48 WINDOW AZIMUTH, 0=N, 90=E,180=S,270=W, DEG? 270

WINDOW EAVE EVALUATION FOR 30 DEG LATITUDE W WINDOW AZ= 270 , JUNE 20

I SUN TIME 1 SUN POSITION I SIZE OF 1 SIZE OF 1 ^ 1 LOCAL 1AZI ALT ZEN I EAVE 1 SHADOW i

6 69 11 78 0 0 7 75 23 66 0 0 8 81 36 53 0 0 9 88 49 40 0 0 10 96 62 27 0 0 11 112 75 14 0 0 12 179 83 6 0 0 13 247 75 14 11 0 Sins/ 14 263 62 27 24 0 15 -89 49 40 40 0 16 -82 36 53 63 0 17 -76 23 66 105 0 18 -70 11 78 220 0

213 9

Table 2* Sample Run — Shading By Eaves.

WINDOW SHADING

PROGRAM CALCULATES THE SIZE EAVE NECESSARY TO SHADE A WINDOW FACING ANY DIRECTION FROM DIRECT SUNLIGHT

PROGRAM ALSO CALCULATES THE SIZE SHADOW ON THE WALL PRODUCED BY AN EAVE OF A GIVEN SIZE

LATITUDE(DEG)? 30 MONTH? 6 DAY? 20 DISTANCE EAVE PROJECTS FROM WALL (ANY UNITS ARE OK)? 25 HEIGHT OF EAVE ABOVE DESIRED LOC OF SHADE (ANY UNITS ARE OK)? 0 WINDOW AZIMUTH, 0=N, 90=E,180=S,270=W, DEG? 270

WINDOW EAVE EVALUATION FOR 30 DEG LATITUDE WINDOW AZ= 270 , JUNE 20

1 SUN TIME 1 SUN POSITION 1 SIZE OF 1 SIZE OF 1 I LOCAL IAZI ALT ZEN 1 EAVE 1 SHADOW I

6 69 11 78 0 0 7 75 23 66 0 0 8 81 36 53 0 0 9 88 49 40 0 0 10 96 62 27 0 0 11 112 75 14 0 0 12 179 83 6 0 0 13 247 75 14 0 101 14 263 62 27 0 48 15 -89 49 40 0 29 16 -82 36 53 0 18 17 -76 23 66 0 11 18 -70 11 78 0 5

214 Program 1 ♦ OSI Version.

10 REM WINDOW SHADING ANALYSIS 30 DIM M$(12):PI=3.14159265:P2=Pl/2:DEFFN RAD(A)=A*Pl/l80 40 DEFFNASN(B)=ATN(B/(SQR(1-B*2))):DEFFNA CS(C)=ATN((SQR(1-CA2)/C)) 50 DEFFNDEG(D)=INT((D*180)/PI):DEFFNTRC(E )=INT(E*100)/100 60 FORI=1TO20:PRINT:NEXT:PRINTTAB(25);"WI NDOW SHADING" 70 FORI=1TO10:PRINT:NEXT 80 PRINTTAB(5);"PROGRAM CALCULATES THE SI ZE EAVE NECESSARY TO SHADE" 90 PRINTTAB(5);"A WINDOW FACING ANY DIREC TION FOR DIRECT SUNLIGHT" 100 PRINT:PRINT:PRINT 110 PRINTTAB(5);"PROGRAM ALSO CALCULATES T HE SIZE SHADOW ON THE WALL" 120 PRINTTAB(12);"PRODUCED FROM AN EAVE OF A GIVEN SIZE" 130 F0RI=1T05:PRINT:NEXT:INPUT"LATITUDE(DE G)";LAT 140 LI=LAT:LAT=FNRAD(LAT):INPUT"MONTH #";M :INPUT"DAY";D 150 IFM<3THENDOY=M*31-31+D:GOTOl70 160 DOY=INT(M*30.6-32.3+D) 170 X=FNRAD((DOY-82)*180/182.5):X=23.5*SIN (X) 180 DE=FNRAD(X):F0RI=1T012:READM$(I):NEXT: RESTORE 190 INPUT"DISTANCE EAVE PROJECTS FROM WALL ,ANY UNITS ARE OK";EV 200 INPUT"HEIGHT OF EAVE ABOVE DESIRED LOC OF SHADE, ANY UNITS ARE OK";SH 210 INPUT"WINDOW AZIMUTH, 0=N, 90=E, 180=S , 270=W, DEG";BI:B1=BI 220 BI=BI+90:BI=FNRAD(BI):HE=-105:FORI=lTO 8:PRINT:NEXT 230 PRINTTAB(5);"WINDOW EAVE EVALUATION FO R ";LI;"DEG LATITUDE"

215 9

240 PRINT:PRINTTAB(14);"WINDOW AZ= ";Bl;", ";TAB(30);M$(M);TAB(35);D 250 Y=FNDEG(DE):PRINTTAB(15);"SIZE OF THE ' EAVE IS ";FNTRC(EV) 260 PRINT"DISTANCE FROM BOTTOM OF SHADE TO BOTTOM OF EAVE= ";SH 270 PRINT:GOSUB420 280 PRINT" ISUN TIME 1 SUN POSITION 1 SIZE OF I SIZE OFl":GOSUB 420 290 PRINT" I LOCAL lAZI ALT ZEN I EAV E 1 SHADOW 1" 300 GOSUB420:FORI=0TO12:AM=6+I:HE=HE+15:AN =FNRAD(HE) 310 OB=0:A1=COS(DE)*COS(AN)*COS(LAT)+SIN(D E)*SIN(LAT) 320 X=FNACS(A1):AL=P2-X:IFAL>P2THENAL=AL-P I 330 X=(COS(DE)*COS(AN)-SIN(AL)*COS(LAT))/( COS(AL)*SIN(LAT)) 340 IFX<0THENOB=1 350 A2=COSCDE-)*5IN(AN)7cOS(AL) :AZ=FNA3N(A2 )+PI:IF0B=1THENAZ=PI-AZ 360 Z=1.5708-AL:R=TAN(Z)*SIN(BI-AZ):IFZ>=P 2THENR=0 370 Y=0:X=0:IFR>0THENX=SH*R:Y=EV/R 380 AZ=FNDEG(AZ): AL=FNDEG(AL):Z=FNDEG(Z) 390 PRINTTAB(2);AM;TAB(11);AZ;TAB(16);AL;T AB(21);Z; 400 PRINTTAB(28);FNTRC(X);TAB(39);FNTRC(Y) :NEXT:END 410 DATA JAN,FEB,MARCH,APRIL,MAY,JUNE,JULY ,AUG,SEPT,OCT,NOV,DEC 420 PRINT" ":RETURN

216 Program 2* VIC Version.

10 REM WINDOW SHADING ANALYSIS VIC VERSION 30 DIMM$(12):PI=3.14159265:P2=Pl/2:DEF FNRAD( A)=A*PI/180 40 DEF FNASN(B)=ATN(B/(SQR(1-BT2))):DEF FNACS (C)=ATN((SQR(1-Ct2)/C)) 50 DEF FNDEG(D)=INT((D*180/PI)):DEF FNTRC(E)= INT(E*100)/l00 60 PRINTTAB(4);"WINDOW SHADING":PRINT:PRINT:P RINT 80 PRINT"PROGRAM CALCULATES THESIZE EAVE NECE SSARY TO SHADE A WINDOW FACING" 90 PRINT"ANY DIRECTION FROM DIRECT SUNLIGH T":PRINT:PRINT 110 PRINT"PROGRAM CALCULATES THESIZE SHADOW ON THE"; 120 PRINT" WALL PRODUCED FROM AN EAVE OF A " GIVEN SIZE" 130 PRINT:PRINT:INPUT"LATITUDE(DEG)";LAT 140 L1=LAT:LAT=FNRAD(LAT): INPUT "MONTH" ;M: INPU T"DAY";D 150 IFM<3THENDOY=M*31-31+D:GOTO170 160 DOY=INT(M*30.6-32.3+D) 170 X=FNRAD((DOY-82)*180/182.5):X=23-5*SIN(X) 180 DE=FNRAD(X):F0RI=1T012:READM$(I):NEXT 190 PRINT:PRINT"DISTANCE EAVE PROJECTS FROM WA LL ANY UNITS":INPUT"ARE OK";EV 200 PRINT:PRINT"HEIGHT OF EAVE ABOVE DESIRED LOC OF SHADE" 205 INPUT",ANY UNITS ARE OK";SH 210 PRINT:INPUT"WINDOW AZIMUTH, 0=N, 90=E,180= S,270=W, DEG";BI:B1=BI 220 BI=BI+90:BI=FNRAD(Bl):HE=-105 230 PRINT"WINDOW EAVE EVALUATION FOR ";L1;"DEG LATITUDE" 240 PRINT"WINDOW AZ=";Bl;M$(M);D 280 PRINT"SUN SUN SIZE SIZE" 290 PRINT"TIME POS OF OF" 2PRINT" AZ ALT EAVE SHADE":GOSUB420 300 FORI=0TO12:AM=6+I:HE=HE+15:AN=FNRAD(HE) 310 OB=0:A1=COS(DE)*COS(AN)*COS(LAT)+SIN(DE)*S IN(LAT) 3 20 X=FNACS(A1):AL=P2-X 3 25 IFAL>P2THENAL=AL-PI

217 330 X=(COS(DE)*COS(AN)-SIN(AL)*COS(LAT))/(cos( AL)*SIN(LAT)) 340 IFX<0THENOB=1 350 A2=C0S(DE)*SIN(AN)/C0S(AL): AZ=FNASN(A2)+PI :IF0B=1THENAZ=PI-AZ 360 Z=1.5708-AL:R=TAN(Z)*SIN(BI-AZ):IFZ>=P2THE NR=0 370 X=0:Y=0:IFR>0THENX=SH*R:Y=EV/R 3 75 IFR<.0001THENY=0 380 AZ=INT(FNDEG(AZ)):AL=INT(FNDEG(AL)):Y=INT( Y):X=INT(X) 390 PRINTAM7TAB(4);AZ;TAB(9)7AL;TAB(13);X;TAB( 17)7Y:NEXT 400 GOTO400 410 DATA"JAN" ,"FEB" ,"MAR" ,"APRIL" ,"MAY" ,"JUNE" , "JULY","AUG","SEPT","OCT","NOV","DEC it 420 PRINT" ":RETURN

Program 3. Microsoft Version.

10 REM WINDOW SHADING 30 DIMM$(12):PI=3.14159265:P2=PI/2:DEF FNRAD( A)=A*Pl/l80 40 DEF FNASN(B)=ATN(B/(SQR(1-BT2))):DEF FNACS (C)=ATN((SQR(1-Ct2)/C)) 50 DEF FNDEG(D)=INT((D*180/Pl)):DEF FNTRC(E)= INT(E*100)/100 60 print"{clear}"7tab(10)7''window shading{03 down}" 80 print"program calculates thesize eave nece ssaryto shade a window facing"7 90 print" any direction from direct sunlight "2 print:print 110 print"program calculates thesize shadow on THE"? 120 PRINT"WALL PRODUCED FROM AN EAVE OF A GIVE N SIZE" 130 PRINT:PRINT:INPUT"LATITUDE(DEG)"7 LAT 140 L1=LAT:LAT=FNRAD(LAT)-.INPUT "MONTH" 7M: INPU T"DAYM7D 150 IFM<3THENDOY=M*31-31+D:GOTO170

218 -9

160 DOY=INT(M*30.6-32.3+D) 170 X=FNRAD((DOY-82)*180/l82.5):X=23.5*SIN(X) 180 DE=FNRAD(X):F0RI=1T012:READM$(I):NEXT 190 PRINT:PRINT"DISTANCE EAVE PROJECTS FROM WA LL ANY":INPUT"UNITS ARE OKu7EV 200 PRINT:PRINT"HEIGHT OF EAVE ABOVE DESIRED L OC OF SHADE" 205 INPUT",ANY UNITS ARE OK"?SH 210 PRINT"{DOWN}WINDOW AZIMUTH, 0=N, 90=E,180= S,270=W,":INPUT"DEG";BI:B1=BI 220 BI=BI+90:BI=FNRAD(Bl):HE=-105 230 PRINT"{CLEAR}"7"WINDOW EAVE EVALUATION FOR M;L1;MDEG LAT":GOSUB420 240 PRINT"WINDOW AZ=H7Bl?M$(M)7D:GOSUB420 280 PRINT"SUN SUN SIZE SIZE" 290 PRINT"TIME POS OF OF" 295 PRINT" AZ ALT EAVE SHADE" :GOSU B420 300 FORI=0TO12:AM=6+I:HE=HE+15:AN=FNRAD(HE) 310 OB=0:A1=COS(DE)*COS(AN)*COS(LAT)+SIN(DE)*S IN(LAT) 3 20 X=FNACS(A1):AL=P2-X 3 25 IFAL>P2THENAL=AL-PI 330 X=(COS(DE)*COS(AN)-SIN(AL)*COS(LAT))/(COS( AL)*SIN(LAT)) 340 IFX<0THENOB=1 350 A2=COS(DE)*SIN(AN)/COS(AL):AZ=FNASN(A2)+PI :IF0B=1THENAZ=PI-AZ 360 Z=1.5708-AL:R=TAN(Z)*SIN(BI-AZ):IFZ>=P2THE NR=0 370 X=0:Y=0:IFR>0THENX=SH*R:Y=EV/R 375 IFR<.0001THENY=0 380 AZ=INT(FNDEG(AZ)):AL=INT(FNDEG(AL)):Y=INT( Y):X=INT(X) 390 PRINTAM7TAB(6)7AZ7TAB(12)7AL7TAB(19);X7TAB (26)?Y:NEXT 400 GOTO400 410 DATA"JAN", "FEB", "MAR", "APRIL", "MAY", "JUNE" ,"JULY" ,"AUG" ,"SEPT" ,"OCT" ,"NOV" ,"DEC ii 420 PRINT" ": RETURN

219 Program 4. Atari Version.

lO REM WINDOW SHADING ANALYSIS ATARI VERSION 20 DIM M*<12*3):PI=3.14159265sP2=PI/2 30 FNRAD=35: FNASN=40:FNACS = 45s FNDEG = 5 OsGOTO 60 35 V=V*PI/180:RETURN 40 V=ATN(V/(SQR«1-VA2)))sRETURN 45 V=ATN((SQR(1-V~2)/V)):RETURN 50 V=INT((V*180/PI)):RETURN 60 PRINT " f Ht FARlWhi.MaiWMsiiMAi?!?" iPRTW T sPRINT sPRINT 80 ? sPRINT "PROGRAM CALCULATES THE": ? "SIZE EAVE NECESSARY TO":? "SHAD EA WINDOW FACING" 90 PRINT "ANY DIRECTION FROM DIRECT S UNLIGHT"sPRINT sPRINT 110 PRINT "PROGRAM CALCULATES THE SIZ E SHADOW ON" 120 PRINT "THE WALL PRODUCED FROM":? "AN EAVE OF A GIVEN SIZE" 130 PRINT sPRINT sPRINT "LATITUDE(DEG )";sINPUT LAT 140 Ll=LATsV=LATsGOSUB FNRADsLAT=V:? "MONTH";sINPUT M s PRINT "DAY";:INP UT D 150 IF M<3 THEN D0Y=M*31-31+D:GOTO 17 O 160 D0Y=INT(M*30.6-32.3+D) 170 V=<*180/182.5)sGOSUB FNRA X=Vs X = 23.5*SINDESIRED LOC" 205 PRINT "OF SHADE, ANY UNITS ARE OK ";sINPUT SH 210 PRINT sPRINT "WINDOW AZIMUTH, 0=N , 90=E,180=S,270=W, DEG";sINPUT B I:B1=BI 220 VjUgg/

'\g&/

\^p/ 9

VUffijM/ 220 BI=BI+90:V=BI:G0SUB FNRADsBI=V:HE

\^»/ = -105 230 PRINT "(CLEAR}Window Eave Evaluat VigdjC ion":? "for ";L1;" DEG Latitude"

*ya^ 240 PRINT "Window Azirouth=":Bl;","sM* (M*3-2,M*3);" ";D 'v^/ 250 ? "cqjcs r>{w>c8 rxnx4 r> V^jgit/ «5 r><:e>" 280 ly\asi/

'\jig/ 290 295 Vi^/ ?" i anam; i 111 nn masai aaggn" 297 ? "<:A>€5 R}{S){8 rj<:s><:4 rxs> V^jjjj/ €5 R}{D}" 300 FOR 1=0 TO 12sAM=6+IsHE=HE+15sV=H 'Van/ EsGOSUB FNRADsAN=V \ugiu/ 310 OB=OsA1=C0S(DE)*COS(AN)*COS(LAT)+ SIN(DE)*SIN(LAT) \.tfa/ 320 V=AlsGOSUB FNACSsX=VsAL=P2-X \igjl/ 325 IF AL>P2 THEN AL=AL-PI 330 X=(COS(DE)*COS(AN)-SIN(AL)*COS(LA 'V^gj)/ T))/(COS(AL)*SIN(LAT)) '\^l>/ 340 IF X<0 THEN 0B=1 350 A2=C0S(DE)*SIN(AN)/COS(AL)sV=A2sG S,jjp/ OSUB FNASNsAZ=V+PI:IF 0B=1 THEN A \jjp/ Z=PI-AZ 360 Z = 1.5708-AL:R=(SIN(Z)/COS(Z) > *SIN \jfl§|||j/ (BI-AZ):IF Z>=P2 THEN R=0 X^gjj/ 370 X=0:Y=0:IF R>0 THEN X=SH*R:Y=EV/R 375 IF R€5 RXX>{8 R>€X>C4 R>{X> <5 RXO" \j^/ 400 ? "When finished, press HMEHI: "; v^p/ 410 IF PEEK(764)<>12 THEN 410 420 POKE 764, 255: GRAPHICS O-.END vmjjj/

^ap/ 221

'vnp' Program 5* Color Computer Version.

5 COLOR COMPUTER VERSION 10 REM WINDOW SHADING 30 DIM M$(12):PI=3.14159265:P2=PI/2:DEFFNRAD( A)=A*PI/180 40 DEFFNSAN(B)=ATN(B/(SQR(1-B 2))):DEFFNACS(C )=ATN((SQR(1-C 2)/C)) 5 0 DEFFNDEG(D)=INT((D*180)/PI):DEFFNTRC(E)=IN T(E) 60 CLS:PRINTTAB(9);"WINDOW SHADING" 70 PRINT:PRINT 8 0 PRINT"PROGRAM CALCULATES THE SIZE EAVE NEC ESSARY TO SHADE A WINDOW FACING" 9 0 PRINT"ANY DIRECTION FROM DIRECTSUNLIGHT" 100 PRINT:PRINT 110 PRINT"PROGRAM ALSO CALCULATES THE SIZESHAD OW ON THE WALL" 120 PRINT"PRODUCED FROM AN EAVE OF ANY GIVEN S IZE" 130 PRINT:PRINT:PRINT:INPUT"LATITUDE (DEG)";LA T 140 L1=LAT:LAT=FNRAD(LAT):INPUT"MONTH #";M:INP UT"DAY";D 150 IFM<3THENDOY=M*31-31+D:GOTO170 160 DOY=INT(M*30.6-32.3+D) 170 X=FNRAD((DOY-82)*180/182.5):X=23.5*SIN(X) 180 DE=FNRAD(X):F0RI=1T012:READM$(I):NEXT:REST ORE 190 PRINT:INPUT"DISTANCE EAVE PROJECTS FROM WA LL ANY UNITS ARE OK";EV 200 PRINT:INPUT"HEIGHT OF EAVE ABOVE DESIRED L OC OF SHADE, ANY UNITS ARE OK";SH 210 PRINT:INPUT"WINDOW AZIMUTH, 0=N, 90=E, 180 =S, 270=W, DEG";BI:B1=BI 220 BI=BI+90:BI=FNRAD(BI):HE=-105:F0RI=1T08:PR INT:NEXT 2 30 PRINT" WINDOW EAVE EVALUATION ":PRINTTA B(5);L1;"DEG LATITUDE" 240 PRINT" WINDOW AZ= ";Bl; " ,";M$ (M) ;D 250 Y=FNDEG(DE):PRINT" SIZE OF THE EAVE IS ~ ";FNTRC(EV) 260 PRINT" DISTANCE FROM BOTTOM OF SHADE TO BOTTOM OF EAVE= ";SH 270 GOSUB420

222 9

280 PRINT"!SUN !SUN POSITION!SIZE!SIZE !" 290 PRINT"! ! ! OF ! OF !" 295 PRINT"JTIME! AZI ALT 1EAVE 'SHADE!" 300 GOSUB420:FORI=0TO12:AM=6+I:HE=HE+15: AN=FN RAD(HE) 310 OB=0:A1=COS(DE)*COS(AN)*COS(LAT)+SIN(DE)*S IN(LAT) 320 X=FNACS(A1):AL=P2-X:IFAL>P2 THENAL=AL-PI 330 X=(COS(DE)*COS(AN)-SIN(AL)COS(LAT))/(COS(A L)*SIN(LAT)) 340 IFX<0THENOB=1 350 A2=COS(DE)*SIN(AN)/COS(AL):AZ=FNSAN(A2)+PI :IF0B=1THENAZ=PI-AZ 360 Z=P2 TH ENR=0 370 Y=0:X=0:lFR>0THENX=SH*K:Y=EV/R 375 IFR<.0001THENY=0 380 AZ=FNDEG(AZ):AL=FNDEG(AL) 390 PRINTAM;TAB(5);AZ;TAB(12);AL;TAB(18);FNTRC (X);TAB(25);FNTRC(Y):NEXT 400 GOTO400 410 DATA JAN,FEB,MARCH,APRIL,MAY,JUNE,JULY,AUG ,SEPT,OCT,NOV,DEC 4 20 PRINT" ":RET URN

Program 6. TI-99 Version. lO REM WINDOW SHADING ANALYSIS, TI VE RSION 20 DIM M*<12> 25 PI=3.14159265 28 P2=PI/2 30 DEF RAD(A)=A*PI/180 35 DEF ASN(B)=ATN(B//C>> 45 DEF DEG=INT(

223 80 PRINT "program calculates the size eave necessary to shade a" 90 PRINT "window facing any direction •from direct sunlight": ::: HO PRINT "program also caculates the size shadow on the wall <5 SPACESJ-produced from an eave of a(3 SPACES>given size": : i : : 130 INPUT "latitude = ?":LAT 132 L1=LAT 134 LAT=RAD(LAT) 136 INPUT "month # ?":M 140 INPUT "day ?":D ISO IF M>=3 THEN 160 155 D0Y=M*31-31+D

158 GOTO 170 160 DOY=INT

182 FOR 1=1 TO 12 184 READ M*

210 INPUT "window azimuth, 0=n, 180=s , 270=w, deg ?":BI 215 B1=BI 220 BI=BI+90 222 BI=RAD

224 ^^^^^^^^_^^_^^_ o

W 224 HE=-105 W 226 CALL CLEAR 230 PRINT "window eave evaluation for \*/ n W 235 PRINT TAB<5>;L1;"deg latitude": : 240 PRINT TAB(2) ; "window az = ";B1;TA 'VjjSgj/ B<21>;M«;TAB(25) ;D ** 250 Y=DEG(DE) 252 YY=TRC W 310 0B=0 312 A1=C0S*C0S+SIN w 320 X=ACS(A1) 322 AL=P2-X \j$0 324 IF AL<=P2 THEN 330 W 326 AL=AL-PI 330 X=(COS(DE)*C0S(AN)-SIN(AL)*COS=0 THEN 350 345 0B=1 Njjlgjl/ 350 A2=C0S(DE>*SIN(AN>/COS(AL)

W 225 366 R=0 370 Y=0 372 X=0 374 IF R<=0 THEN 380 376 X=SH«R 378 Y=EV/R 380 AZ=DEG(AZ) 382 AL=DE6(AL> 390 PRINT AM;TAB(7);AZ;TAB<12>;AL; 394 YY=TRC;YY;TAB(23) ; ZZ 402 NEXT I 404 END 410 DATA jan,feb,march,apri1,may,June ,July,aug,sept,oct,nov,dec 420 PRINT "-

430 RETURN

226

#

4 Ceiling Fan Analysis

As the costof electricity increases atanalarming rate, people are looking for methods to reduce the cost ofkeeping cool. They add insulation, shade windows, reduce kitchen heating, turnup thermostats, and sometimes, out of desperation, turn air conditioners completely off. However, since most people prefer not to sacrifice theircomfortto anunduedegree, ceiling fans have become a popular supplement to air conditioning in much of the Sunbelt. They may even serve asan inexpensive alternativeto air conditioning in more moderate summer climates. Ceiling fans coolby the samewind chill processes that we experience with the passage of a "blue norther." However, at the highersummer temperatures, the effect isnot nearly as pronounced. Basically, the wind chill effect occurs because the convectiveheattransfer from ourbodies increases dramatically as the wind speed increases. Thus, with the addition of a ceiling fan, we canreducethe air conditioning thermostat and still experience the same comfort level at a decreased energy cost. Should you invest in a ceiling fan? Three factors need to be considered: 1) the costof the fan, 2) the potential savings, and 3) the cost of operation. This program will estimate the last two of these, leaving it up to you to minimize the cost of the fan. The program will enable you, the user, to evaluate the effective decrease in temperature, the savings dueto increasing the air conditioner thermostat, andthe costof operating the ceiling fan. With this, youwill have atool with which you can evaluate buying a ceiling fan, based on the pay-out period of the investment. Customizing For Wind Chill The wind chill factor (see ref. 2.)used in line 300 (line 280 in the Atari andColor Computer versions) isa function of temperature (T, degrees centigrade) and the wind speed (V, m/sec). Several modifications were necessary in order to use the wind chill index for this application. First, the basewind speed was increasedto 4 mi/hr (1.788 m/sec), since the index isset for a person at normal walking speed. Second, the index is calibrated for anemometer measured winds, so the ceiling fan speed had to be increased to

229 10 account for the height ofa standard anemometer (divided by0.57). (See ref. 4.) Once this is done, the cooling index matches Fanger's comfort equation (see ref. 1). I measured the wind speed of several ceiling fans with a commercial hot wire anemometer and found the speed to be about 1m/sec. If you know thewind speed of your prospective fan, then you should alter line 70 (line 40 in the Atari version, line 50 in the Color Computer version, or line 75 intheTI version) accordingly. The effectofincreasing the air conditioning thermostatby DF degrees is calculated inline 240 (line 230 intheAtari version, line 220 inthe Color Computer version, or line 243 inthe TI version). This formula is based on the Federal Energy Administration algorithm (see ref. 3) which uses the utility cost rather than the fuel amount. Because ofthis, the programwill acceptany cooling fuel (e.g., electricity, natural gas, etc.). The cost ofoperating a ceiling fan isusually about the same asthe cost ofoperating a moderately sized light bulb. However, for thepurpose of completeness, Ihave allowed for these calculations intheprogram. The user can input thecurrent used bythefan, the number of hours the fan is used per day, and the number of days usedina calendar year.Thedefault values used are 0.5 amps, 6 hrs/day, and 100 days.

References 1. ASHRAE Handbook ofFundamentals. NewYork: American Societyof Heating, Refrigerating and Air Conditioning Engineers, Inc., 1972. 2. Dare, P.M. "AStudy ofthe Severity ofthe Midwestern Winters of 1977 and 1978 Using Heating Degree Days Determined from Both Measured and Wind Chill Temperatures;' Bulletin ofthe American Meteorological Society, vol. 62, July 1981. 3. Home Energy Saver's Workbook. FEA/D-77/117. Washington, D. C: Government Printing Office, 1977. 4. Steadman, R. G. "Indices ofWindchill ofClothed Persons." Journal of Applied Meteorology, vol. 10,1971, pp. 674-683.

230 10

Sample Run.

CEILING FAN ANALYSIS

SAVINGS IN AIR CONDITIONING AND COST OF OPERATING FAN WILL BE CALCULATED

ANY COOLING FUEL (E.G., ELECTRICITY, NAT. GAS) IS OK.

IS COOLING FUEL USED FOR OTHER PURPOSES (E.G., LIGHTING)? Y

ANNUAL COOLING FUEL COST (DOLLARS)? 526

TEMP

COST FOR ELECTRICITY, CENTS/KWH? 6.55

HIT IF REQUESTED QUANTITY IS UNKNOWN

AMPS DRAWN BY CEILING FAN? 0.5

* DAYS PER YEAR FAN IS IN OPERATION? 100

« HOURS PER DAY FAN IS IN OPERATION? 6

ANNUAL COST OF OPERATING FAN - «2.35

YOU MAY INCREASE YOUR THERMOSTAT TO 79 DEGREES F ANNUAL A/C SAVINGS » «24.57

Program 1 ♦ OSI Version.

10 REM CEILING FAN ANALYSIS 30 DEFFNTRC(E)=INT(E*100)/100 40 DEFFNRDD(F)=INT(F+.99) 50 POKE2888,0:POKE8722,0:REM SET CR FOR N ULL INPUT =0 60 FORI=1TO20:PRINT:NEXT:PRINTTAB(25);"CE ILING FAN ANALYSIS" 70 PRINT:PRINT:PRINT:PRINT:X=.6:V=1 80 PRINTTAB(22);"SAVINGS IN AIR CONDITION ING" 90 PRINTTAB(15);"AND COST OF OPERATING FA N WILL BE CALCULATED"

231 10-

100 PRINT:PRINT:GOSUB280:PRINT:PRINT 110 PRINT"ANY COOLING FUEL (E.G. ELECTRICI TY, NAT GAS) IS OK" 120 PRINT:PRINT"IS COOLING FUEL USED FOR O THER PURPOSES (E.G. LIGHTING)"; 130 INPUTB$:IFASC(B$)=78THENX=1 140 PRINT:INPUT"ANNUAL COOLING FUEL COST ( DOLLARS)";CS:CS=CS*X 150 PRINT:INPUT"TEMP (DEG F) CURRENTLY SET FOR A/C";TF 160 T=(TF+40)*5/9-40:PRINT 170 INPUT"COST FOR ELECTRICITY, CENTS/KWH" ;C:C=C/100:GOSUB280:PRINT 180 PRINT:PRINT:PRINT"HIT IF REQUESTE D QUANTITY IS UNKNOWN" 190 PRINT:INPUT"AMPS DRAWN BY CEILING FAN" ;A:IFA=0THENA=.5 200 PRINT:INPUT"# DAYS PER YEAR FAN IS IN OPERATION";D:IFD=0THEND=100 210 PRINT:INPUT"* HOURS PER DAY FAN IS IN OPERATION";H:IFH=0THENH=6 220 PRINT:PRINT:GOSUB280:PRINT"ANNUAL "; 230 CO=C*D*H*A*120/1000:PRINT"COST OF RUNN ING FAN = $";FNTRC(CO) 240 V=l.788+V/ .57:GOSUB280 -.GOSUB300 :DF=DT* 9/5:TF=FNRDD(TF+DF) 2 50 PRINT"YOU MAY INCREASE YOUR THERMOSTAT TO";TF;"DEG F" 260 PRINT"ANNUAL A/C SAVINGS = $";FNTRC(CS *DF*.03):GOSUB280 270 END 280 PRINT"

290 PRINT" ": RETURN 300 DT=T-33-(l0*SQR(V)+10.45-V)*(T-33)/22. 03:1FDT<0THENDT=0 310 RETURN:REM DT=EFFECTIVE DECREASE IN TE MP(C) DUE TO WIND (V=M/SEC) 320 REM T=*DEG CENTIGRADE, TF=DEG FAHRENHEI T

232 330 REM A=AMPS, D=# DAYS, H=# HOURS/DAY 340 REM X=REDUCTION IN UTILITY COST TO ACC OUNT FOR USES OTHER 350 REM THAN COOLING. 360 REM DF=EFFECTIVE DECREASE IN TEMP (DEG F) DUE TO WIND.

Program 2. VIC Version.

10 REM CEILING FAN ANALYSIS VIC VERSION 30 DEF FNTRC(E)=INT(E*100)/100 40 DEF FNRDD(F)=INT(F+.99) 60 PRINT"{CLEAR} CEILING FAN ANALYSIS" 70 PRINT"{02 D0WN}":X=.6:V=1 80 PRINT" SAVINGS IN AIRCONDITIONI NG AND COST OF OPERATING FAN" 90 PRINT" WILL BE CALCULATED" 100 PRINT:GOSUB280:PRINT 110 PRINT"ANY COOLING FUEL (E.G. ELECTRIC ITY, NAT GAS) IS OK" 120 PRINT:PRINT"IS COOLING FUEL USED FOR OTHE R PURPOSES":INPUT"(E.G. LIGHTING)";B$

130 IFASC(B$)=78THENX=1 140 CS=0:PRINT:PRINT"ANNUAL COOLING FUEL":INPU T"COST (DOLLARS)";CS:CS=CS*X 150 TF=0:PRINT:PRINT"TEMP(DEG F) CURRENTLY":IN PUT"SET FOR A/C";TF 160 T=(TF+40)*5/9-40:PRINT 170 C=0:PRINT"COST FOR ELECTRICITY,":INPUT"CEN TS/KWH";C:C=C/100:PRINT"{CLEAR}" 180 PRINT"HIT IF REQUESTED QUANTITY IS UN KNOWN":GOSUB280:PRINT 190 A=.5:PRINT"AMPS DRAWN BY CEILING":INPUT"FA N";A 200 D=100:PRINT:PRINT"# DAYS PER YEAR FAN":INP UT"IS IN OPERATION" ;D 210 H=6:PRINT:PRINT"# OF HRS PER DAY FAN":INPU T"IS IN OPERATION";H 220 PRINT"{CLEAR}":PRINT"ANNUAL "; 230 CO=C*D*H*A*120/1000:PRINT"COST OF RUNNING ~ FAN = $";FNTRC(CO)

233 10.

240 V=1.788+V/.57:GOSUB280:GOSUB300:DF=DT*9/5: TF=FNRDD(TF+DF) 2 50 PRINT"YOU MAY INCREASE YOUR THERMOSTAT TO" ;TF;"DEG F" 2 60 PRINT"ANNUAL A/C SAVINGS = $";FNTRC(CS*DF *.03):GOSUB280 270 END 280 PRINT" n:RETURN 300 DT=T-33-(10*SQR(V)+10.45-V)*(T-33)/22.03:I FDT<0THENDT=0 310 RETURN

Program 3. Microsoft Version.

10 REM CEILING FAN ANALYSIS 30 DEF FNTRC(E)=INT(E*100)/100 40 DEF FNRDD(F)=INT(F+.99) 60 PRINT"{CLEAR} CEILING FAN ANALYSI SM 70 PRINT"{02 DOWN}":X=.6:V=l 80 PRINT"SAVINGS IN AIR CONDITIONING AND COST OF OPERATING FAN"; 90 PRINT" WILL BE CALCULATED" 100 PRINT:GOSUB280:PRINT 110 PRINT"ANY COOLING FUEL (E.G. ELECTRICITY, NAT GAS) IS OK" 120 PRINT:PRINT"IS COOLING FUEL USED FOR OTHER PURPOSES":INPUT"(E.G. LIGHTING)";B$ 130 IFASC(B$)=78THENX=1 140 CS=0:PRINT:INPUT"ANNUAL COOLING FUEL COST (DOLLARS)";CS:CS=CS*X 150 TF=0:PRINT:INPUT"TEMP(DEG F) CURRENTLY SET FOR A/C";TF 160 T=(TF+40)*5/9-40:PRINT 170 C=0:INPUT"COST FOR ELECTRICITY, CENTS/KWH" ;C:C=C/100:PRINT"{CLEAR}" 180 PRINT"PRESS IF REQUESTED QUANTITY":PR INT"IS UNKNOWN":GOSUB280:PRINT 190 A=.5:INPUT"AMPS DRAWN BY CEILING FAN";A 200 D=100:PRINT:INPUT"# DAYS PER YEAR FAN IS I N OPERATION";D 210 H=6:PRINT:INPUT"* OF HRS PER DAY FAN IS IN OPERATION";H

234 10

220 PRINT" {CLEAR}": PRINT"ANNUAL "; 230 CO=C*D*H*A*120/1000:PRINT"COST OF RUNNING " FAN = $";FNTRC(CO) 240 V=l.788+V/.57:GOSUB280:GOSUB300:DF=DT*9/5: TF=FNRDD(TF+DF) 2 50 PRINT"YOU MAY INCREASE YOUR THERMOSTAT TO" :PRINTTF;"DEG F" 260 PRINT"ANNUAL A/C SAVINGS = $";FNTRC(CS*DF *.03):GOSUB280 270 END 280 PRINT" ":RETURN 300 DT=T-33-(l0*SQR(V)+10.45-V)*(T-33)/22.03:I FDT<0THENDT=0 310 RETURN

Program 4. Atari Version.

10 REM *** CEILING FAN ANALYSIS *** 20 REM *** ATARI VERSION *** 30 POKE 82,2sP0KE 752,1s? CHR*<125)sP QKE 85,9s? MESOBGCEBHECBEirCEDIiSaEa M 40 ? s? sX=0.6sV=lsDIM B*(1) 50 POKE 85,5s? "SAVINGS IN AIR-CONDIT IONING," 60 POKE 85,8s? "AND COST OF OPERATING

ii 70 POKE 85,Bs? "FAN WILL BE CALCULATE D":? :? :60SUB 270 80 ? :? :? "ANY COOLING FUEL IS OK":? "(E.G., ELECTRICITY, NATURAL GAS)

II 90 ? :? "IS COOLING FUEL USED FOR OTH ER":? "PURPOSES (E.G., LIGHTING), Y OR N"; iOO INPUT B*:IF B*="N" THEN X=l HO ? :POKE 85,1:? "ANNUAL COOLING FU EL COST (DOLLARS)";:INPUT CS:CS=C S*X 120 ? :? "TEMP (DEG F) CURRENTLY SET ON":? "AIR CONDITIONER";:INPUT TF

235 10

130 T=(TF+40)*5/9-40:? 140 ? "COST FOR ELECTRICITY, CENTS/KW H";:INPUT C:C=C/100:GOSUB 270 ISO ? :? :? "ENTER O (ZERO) IF REQUES TED":? "QUANTITY IS UNKNOWN" 160 ? :? "AMPS DRAWN BY CEILING FAN"; :INPUT A:IF A=0 THEN A=0.5 170 ? :? "# DAYS PER YEAR FAN IS IN": ? "OPERATION";: INPUT D: IF D = 0 THE N D=100 180 ? :? "# HOURS PER DAY FAN IS IN": ? "OPERATION";:INPUT H:IF H=0 THE N H=6 190 ? :? :GOSUB 270 200 C0=C*D*H*A*120/1000: ? "ANNUAL COS T OF OPERATING":? "FAN = *";INT(C 0*100)/lOO 210 V=l.788+V/O.57:GOSUB 270 220 GOSUB 280 230 DF=DT*9/5:TF=INT((TF+DF)+0.99) 240 ? "YOU MAY INCREASE YOUR THERMOST AT TO":? TF;" DEG F" 250 ? "ANNUAL A/C SAVINGS = *";INT((C S*DF*0.03)*100)/lOO:GOSUB 270:G0S UB 270 260 END 270 POKE 85,0:FOR 1=1 TO 40:? "-";:NE XT I:RETURN 280 DT=T-33-(10*SQR(V)+10.45-V)*(T-33 )/22.03:IF DT<0 THEN DT=0 290 RETURN 300 REM ft**************************** 310 REM DT=EFFECTIVE DECREASE IN TEMP (C) DUE TO WIND (V=M/SEC) 320 REM T=DEG CENTIGRADE, TF=DEG FARE NHEIT, A=AMPS, D=# DAYS,H=# HOURS /DAY 330 REM X=REDUCTION IN UTILITY COST T O ACCOUNT FOR USES OTHER THAN COO LING 340 REM DF=EFFECTIVE DECREASE IN TEMP (DEG F) DUE TO WIND.

236 10

Program 5. Color Computer Version.

10 REM CEILING FAN ANALYSIS - COLOR COMPUTER ~ VERSION 30 DEFFNTRC(E)=INT(E*100)/100 35 DEFFNRDD(F)=INT(F+.99) 40 CLS:PRINTTAB(5);"CEILING FAN ANALYSIS" 50 PRINT:PRINT:X=.6:V=1 60 PRINT "SAVINGS IN AIR CONDITIONING," 70 PRINT"AND COST OF OPERATING" 80 PRINT"FAN WILL BE CALCULATED":PRINT:GOSUB2 60:PRINT 90 PRINT"ANY COOLING FUEL IS OK":PRINT"(E.G. ~ ELECTRICITY, NATURAL GAS)" 100 PRINT:PRINT"IS COOLING FUEL USED FOR OTHER ":PRINT"PURPOSES (E.G. LIGHTING"; 110 INPUTB$:IFASC(B$)=78THENX=1 120 PRINT:PRINT"ANNUAL COOLING FUEL COST":INPU T"(DOLLARS)";CS:CS=CS*X 130 PRINT:PRINT"TEMP (DEG F) CURRENTLY SET FOR ":INPUT"AIRCONDITIONER" ;TF 140 T=(TF+40)*5/9-40:PRINT 150 PRINT"COST FOR ELECTRICITY,":INPUT"CENTS/K WH";C:C=C/100:GOSUB260:PRINT 160 PRINT:PRINT:PRINT"HIT IF REQUESTED ":PRINT"QUANTITY IS UNKNOWN" 170 PRINT:INPUT"AMPS DRAWN BY CEILING FAN";A:I FA=0THENA=.5 180 PRINT:PRINT"* DAYS PER YEAR FAN IS IN":INP UT"OPERATION";D:IFD=0THEND=100 190 PRINT:PRINT"# HOURS PER DAY FAN IS IN":INP UT"OPERATION";H:IFH=0THENH=6 200 PRINT:PRINT:GOSUB260:PRINT"ANNUAL "; 210 CO=C*D*H*A*120/1000:PRINT"COST OF OPERATIN G":PRINT"FAN = $";INT(CO*100)/100 220 V=l.788+V/.57:GOSUB260:GOSUB280:DF=DT*9/5: TF=FNRDD(TF+DF) 2 30 PRINT"YOU MAY INCREASE YOUR THERMOSTAT TO" ;TF;"DEG F" 240 PRINT"ANNUAL A/C SAVINGS = $";FNTRC(CS*DF* .03):GOSUB260 2 50 END 260 PRINT" " 2 70 RETURN

237 10

280 DT=T-33-(l0*SQR(V)+10.45-V)*(T-33)/22.03:I FDT<0THENDT=0 290 RETURN:REM EFFECTIVE DECREASE IN TEMP(C) D UE TO WIND (V=M/SEC) 300 T=DEG C, TF=DEG F, DF=EFFECTIVE DECREASE I N TEMP (DEG F) DUE TO WIND 310 REM X=REDUCTION IN UTILITY COST TO ACCOUNT FOR USES OTHER THAN COOLING

Program 6. TI-99 Version. 10 REM ceiling fan analysis 30 DEF TRCcei 1 i ng -fan analy sis": s s s : s 74 X=.6 75 V=l 80 PRINT "savings in airconditioning" 90 PRINT "and cost of operating fan {3 SPACES>will be calculated": :: 102 GOSUB 280 103 PRINT : s 110 PRINT "any cooling fuel £12 SPACES>other purposes (e-g- <8 SPACES3lighting) "; 130 INPUT B* 131 IF ASC(dollars)? ":CS 142 CS=CS*X 150 PRINT 151 INPUT "temp (deg f) currently set for a/c ?":TF

238 10

160 T=*5/9-40 161 PRINT 170 INPUT "cost for electricity, 17 SPACES*cents/kwh ?":C 171 C=C/100 172 GOSUB 280 173 PRINT ::: 182 PRINT "enter <0> if requested qu antity is unknown": : 191 INPUT "amps drawn by ceiling -fan ?" :A 192 IF AOO THEN 200 195 A=.5 200 PRINT 201 INPUT "#days per year fan is in €4 SPACES]operation ?":D 202 IF DO0 THEN 210 205 D=100 210 PRINT 211 INPUT "# hours per day fan is in <3 SPACES>operation ?"sH 212 IF HOO THEN 220 215 H=6 220 PRINT :: 222 GOSUB 280 223 PRINT "annual"; 225 C0=C*D*H*A*120/1000 230 YY=TRC 231 C0-C*D*H*Atl20/1000 232 PRINT "cost of running fan = *";Y Y 240 V=1.788+V/.57 241 GOSUB 280 242 GOSUB 300 243 DF=DT*9/5 244 TF=RDDthermostat to ";TF;" de g f" 259 YY=TRC

239 10

261 GOSUB 280 270 END 280 PRINT "

291 RETURN 300 DT=T-33-<10*SQR(V>+10.45-V> * 0 THEN 310 305 DT=0 310 RETURN 311 REM dt=effective decrease in temp util ity cost to account for uses othe r than cooling.

360 REM df=effective decrease in temp due to wind.{3 SPACES>

240 Appendix

Many of the programs which are listed in this book contain special control characters (cursor control, color keys, inverse video, etc.). To make it easy to tell exactly what to type when entering one of these programs into your computer, we have established the following listing conventions. There is a separate key for each computer. Refer to the appropriate tables when you come across an unusual symbol in a program listing. If you are unsure how to actually enter a , consult your computer's manuals. Atari 400/800 Characters in inverse video will appear like: INUER5E VIDEC Enter these characters with the Atari logo key, {A}.

When you see Type See

ESC SHIFT < IS Clear Screen

ESC CTRL - ♦ Cursor Up

ESC CTRL = * Cursor Down

CLEFT> ESC CTRL + <- Cursor Left

ESC CTRL * •» Cursor Right (BACK S> ESC DELETE «

ESC CTRL DELETE U

ESC CTRL INSERT U Insert Character

ESC SHIFT DELETE c* Delete Line

CINS LINE* ESC SHIFT INSERT • Insert Line

ESC TAB •

ESC CTRL TAB B Clear TAB

ESC SHIFT TAB • Set TAB stop

ESC CTRL 2 a Ring Buzzer

ESC ESC t ESCape key

Graphics characters, such as CTRL-T, the ball character • will appear as the "normal" letter enclosed in braces, e.g. {T}. A series of identical control characters, such as 10 spaces, three cursor-lefts, or 20 CTRL-R's, will appear as {10 SPACES},-{3 LEFT}, {20 R}, etc. Ifthe character in braces is in inverse video, that character or characters should be entered with the Atari logo key. For example, {H} means to enter a reverse-field heart with CTRL-, {5 m } means to enter five inverse-video CTRL-U's.

241 Commodore PET/CBM/VIC/64 Unless there are separate program listings,use the program titled "Microsoft Version" for all PET/CBM models and the Commodore 64. Generally, any PET/CBM/VIC/64 program listings will contain bracketed words which spell out any special characters: {DOWN} would mean to press thecursor-down key; {3DOWN} would mean to press the cursor-down key three times. To indicate that a key should be shifted(holddown the SHIFT KEYwhile pressingthe other key), the key would be underlined in our listing. For example, S, would mean to type the S key while holding the shift key. This would resultin the "heart" graphics symbol appearing on your screen. Some graphics characters are inaccessible from the keyboard on CBM Business models (32N, 8032). Sometimes in a program listing, especially within quoted text when a line runs over into the next line, it is difficult to tell where the first line ends. How many times should you type the SPACE bar? In our convention, when a line breaks in this way, the ~ symbol shows exactly where it broke. For example:

100 PRINT "TO START THE GAME ~ YOU MAY HIT ANY OF THE KEYS YOUR KEYBOARD. shows that the program's author intended for you to type two spaces after the word GAME.

Clear Screen {CLEAR} Cursor Left {LEFT} Home Cursor {HOME} Insert Character {INST} Cursor Up {UP} Delete Character {DEL} Cursor Down {DOWN} Reverse FieldOn {RVS} Cursor Right {RIGHT} Reverse Field Off {OFF}

242 Apple ll/Apple II Plus Except in those cases where a special Apple version is provided, use the Microsoft version. The only required modifications are to the cursor control commands.

PET/CBM command Apple equivalent {CLEAR} HOME {DOWN} PRINT (Apple II+: CALL-922) {RIGHT} PRINT CHR$(21) {LEFT} PRINT CHR$(8) For example,

PET/CBM: 10 PRINT"{CLEAR} message" Apple: 10 HOME:PRINT" message"

PET/CBM: 20 PRINT"{ 02 DOWN} message" Apple: 20 PRINT:PRINT:PRINT" message" TRS-80 Color Computer No special characters are used. Texas Instruments 99/4 The only special control characters used are in PRINT statements to indicate where two or more spaces should be left between words. For example, ENERGY { 10 SPACES} MANAGEMENT means that ten spaces should be left between the words ENERGY and MANAGEMENT. Enter all programs with the ALPHA lock on (in the down position). Release the ALPHA lock to enter lowercase text.

243 Notes Notes

w

W

w

W

W Notes If you've enjoyed the articles in this book, you'll find the same style and quality in every monthly issue of COMPUTE! Magazine. Use this form to order your subscription to COMPUTE!

For Fastest Service, Call Our Toil-Free US Order Line 800-334-0868 In NC call 919-275-9809

COMPUTE! P.O. Box 5406 Greensboro, NC 27403

My Computer Is: • PET DApple DAtari DVICDOther D^on'tyethave one...

U $20.00 One Year US Subscription D $36.00 TwoYear US Subscription Z\ $54.00 Three Year US Subscription Subscription rates outside the US: • $25.00 Canada f=2 • $38.00 Europe/Air Delivery fi=3 • $48.00 Middle East North Africa Central America/Air Mail fi=5 • $88.00 South America South Africa Australasia/Air Mail fi=7 D $25.00 InternationalSurface Mail (lengthy, unreliable delivery) fi=4,6,8 Name Address City State Zip Country Payment must be in US Funds drawn on a US Bank; International Money Order, or charge card. • Payment Enclosed n VISA • MasterCard • American Express Acc't. No. Expires / COMPUTE! Books P.O. Box 5406 Greensboro, NC 27403 Ask your retailer for these COMPUTE! Books. If he or she has sold out order directly from COMPUTE! For Fastest Service Call Our TOLL FREE US Order Line 800-334-0868 In NC call 919-275-9809 Quantity Title Price Total The Beginner's Guide To Buying A Personal Computer $ 3.95 [Add $1.00 shipping and handling. Outside US add $4.00air mail;$2.00surface mail.) COMPUTED First Book of Atari $12.95 [Add $2.00 shipping and handling. Outside US add $4.00air mail; $2.00surface mail.) Inside Atari DOS $19.95 (Add$2.00shipping and handling. Outside US add $4.00 airmail; $2.00 surfacemail.) COMPUTED First Bookof PET/CBM $12.95 [Add $2.00shippingand handling.OutsideUS add $4.00air mail;$2.00surface mail.) Programming the PET/CBM $24.95 [Add $3.00 shippingand handling. Outside US add $9.00air mail; $3.00surface mail.) Every Kid's First Bookof Robots and Computers $ 4.95 [Add $1.00 shippingand handling. Outside US add $4.00 airmail; $2.00 surface mail.) COMPUTED Second Bookof Atari $12.95 [Add $2.00 shipping and handling. Outside US add $4.00 airmail; $2.00 surface mail.) COMPUTE!^ First Book ofVIC $12.95 [Add $2.00 shipping and handling. Outside US add $4.00air mail; $2.00surface mail.)

All orders must be prepaid (money order, check or charge). All payments must be in USfunds. NC residents add 4% sales tax. • Payment enclosed Please charge my: • VISA • MasterCard • American Express Acc't. No. Expires / Name Address City State Zip Country Allow 4-5 weeks for delivery.