10 REM PROGRAM D4_COND 50 DIM T0(41), T1(41) 60 C = 400: RHO = 4000: K = 5: SGMA = 5.67 * 10 ^ (-8): QMAX = 250 70 DZ = .05: OMGA = 7.27 * 10 ^ (-5): DT = .45 * C * RHO * DZ ^ 2 / K 80 C1 = .45: C2 = DT / (C * RHO * DZ): C3 = OMGA * DT: C4 = .9 * 290 ^ 4 RS = 4 DIM BSUN(200) DIM R(14), G(14), B(14) R(1) = 54: G(1) = 0: B(1) = 54 R(2) = 24: G(2) = 0: B(2) = 40 R(3) = 0: G(3) = 0: B(3) = 48 R(4) = 0: G(4) = 0: B(4) = 63 R(5) = 0: G(5) = 36: B(5) = 60 R(6) = 16: G(6) = 48: B(6) = 63 R(7) = 0: G(7) = 56: B(7) = 0 R(8) = 36: G(8) = 63: B(8) = 0 R(9) = 63: G(9) = 63: B(9) = 0 R(10) = 63: G(10) = 48: B(10) = 0 R(11) = 63: G(11) = 36: B(11) = 0 R(12) = 63: G(12) = 24: B(12) = 0 R(13) = 54: G(13) = 0: B(13) = 0 R(14) = 36: G(14) = 0: B(14) = 0 SCREEN 12 FOR I = 1 TO 14 HUE = 65536 * B(I) + 256 * G(I) + R(I) PALETTE I, HUE NEXT I 90 CLS WINDOW (0, -40)-(640, 20) CIRCLE (100, 0), RS, 12 PAINT (100, 0), 12 GET (100 - RS, -RS)-(100 + RS, RS), BSUN PUT (100 - RS, -RS), BSUN CLS COLOR 11: LOCATE 23, 62: PRINT "DEPTH (cm)" LINE (520, 1)-(520, -23) FOR I = 0 TO 6 LINE (520, 1 - 4 * I)-(510, 1 - 4 * I) LOCATE 10 + 2 * I, 66: PRINT 5 * I NEXT I LINE (120, 1)-(520, 2), 11, BF LINE (120, 4.5)-(520, 5), 11, BF COLOR 1: LOCATE 11, 12: PRINT "T (øC)" FOR XI = 120 TO 520 STEP 80 LINE (XI, 2)-(XI, 1) LOCATE 9, INT(XI / 8) - 1: PRINT XI / 16 - 12.5 NEXT XI COLOR 11: LOCATE 19, 10: PRINT "AS DEPTH INCREASES" LOCATE 20, 10: PRINT "TEMPERATURE VARIATIONS" LOCATE 21, 10: PRINT "1. DECREASE IN MAGNITUDE" LOCATE 22, 10: PRINT "2. ARE DELAYED " REM ASSUMING SUN FOR 12 HOURS AND IR LOSS 24 HOURS COLOR 9: LOCATE 5, 7: PRINT "DAY" COLOR 13: LOCATE 2, 16: PRINT "TEMPERATURE VARIATIONS IN GROUND DUE TO CONDUCTION" COLOR 7: LOCATE 6, 4: PRINT "HOUR =": COLOR 15 140 T1(40) = 300 150 FOR M = 0 TO 40 160 T0(M) = 300 170 NEXT M HUESKY = 6 LINE (120, 5)-(520, 15), HUESKY, BF 180 FOR N = 1 TO 501 IF N = 120 OR N = 360 THEN LINE (120, 5)-(520, 15), 4, BF: COLOR 1: LOCATE 5, 6: PRINT "NIGHT": COLOR 15 IF N = 240 OR N = 480 THEN LINE (120, 5)-(520, 15), 6, BF: COLOR 9: LOCATE 5, 6: PRINT " DAY ": COLOR 15 190 QDAY = SIN(C3 * N): IF QDAY < 0 THEN QDAY = 0 IF QDAY > 0 THEN PUT (240 + N MOD 240, 10 * SIN(C3 * N)), BSUN, XOR END IF 200 T1(0) = T0(0) + C2 * (QMAX * QDAY - SGMA * (T0(0) ^ 4 - C4)) FOR M = 0 TO 40 HUE = 7 + INT(7 * (T0(M) - 300) / 20) CIRCLE (320 + 10 * (T0(M) - 300), -M), 2, HUE PAINT (320 + 10 * (T0(M) - 300), -M), HUE COLOR 7: LOCATE 6, 11: PRINT (CINT(N * DT / 3600) + 6) MOD 24: COLOR 15 NEXT M TT = TIMER + .01 DO UNTIL TIMER > TT: LOOP FOR M = 1 TO 39 T1(M) = T0(M) + C1 * (T0(M - 1) + T0(M + 1) - 2 * T0(M)) NEXT M IF QDAY > 0 THEN PUT (240 + N MOD 240, 10 * SIN(C3 * N)), BSUN, XOR END IF FOR M = 0 TO 40 IF N < 501 AND CINT(T1(M) * 16) <> CINT(T0(M) * 16) THEN PAINT (320 + 10 * (T0(M) - 300), -M), 0, 0 END IF T0(M) = T1(M) NEXT M 310 NEXT N