From pa.dec.com!decwrl!sdd.hp.com!cs.utexas.edu!uunet!sparky!kent Tue Apr 9 08:02:07 PDT 1991 Article: 2172 of comp.sources.misc Path: pa.dec.com!decwrl!sdd.hp.com!cs.utexas.edu!uunet!sparky!kent From: allen@viewlogic.com (Dave Allen) Newsgroups: comp.sources.misc Subject: REPOST: v18i001: planet - planet generation simulator, Part01/04 Message-ID: <1991Apr9.041648.7975@sparky.IMD.Sterling.COM> Date: 9 Apr 91 04:16:48 GMT Sender: kent@sparky.IMD.Sterling.COM (Kent Landfield) Organization: Sterling Software, IMD Lines: 958 Approved: kent@sparky.imd.sterling.com X-Checksum-Snefru: e4b9729c a9ba8dca 132d9842 941c865b Submitted-by: Dave Allen Posting-number: Volume 18, Issue 1 Archive-name: planet/part01 Supersedes: tec: Volume 10, Issue 77-78 [After I took the time to repackage this up due to a problem creating the directories during unsharing, I went ahead and posted the original version and removed my repackaged version... Lets try it again... -Kent+] This is version 1 of a scientific planet generator (as opposed to a die-rolling planet generator). It is written in C and runs in graphics mode under Xwindows, or in text-only mode under UN*X. There are three programs: - tec: a continental drift simulator - clim: a climate generator - globe: computes and displays a rotating planet Dave ---- #! /bin/sh # This is a shell archive. Remove anything before this line, then feed it # into a shell via "sh file" or similar. To overwrite existing files, # type "sh file -c". # The tool that generated this appeared in the comp.sources.unix newsgroup; # send mail to comp-sources-unix@uunet.uu.net if you want that tool. # Contents: . ./doc ./example ./example/globe.in ./src ./src/Makefile # ./src/rain.c # Wrapped by kent@sparky on Mon Apr 8 22:39:14 1991 PATH=/bin:/usr/bin:/usr/ucb ; export PATH echo If this archive is complete, you will see the following message: echo ' "shar: End of archive 1 (of 4)."' if test ! -d './doc' ; then echo shar: Creating directory \"'./doc'\" mkdir './doc' fi if test ! -d './example' ; then echo shar: Creating directory \"'./example'\" mkdir './example' fi if test -f './example/globe.in' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'./example/globe.in'\" else echo shar: Extracting \"'./example/globe.in'\" \(40677 characters\) sed "s/^X//" >'./example/globe.in' <<'END_OF_FILE' X(LAND ( X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 X 2 2 2 2 2 2 2 2 2 2 2 2 1 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 1 2 3 3 3 3 3 3 3 3 X 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 1 4 4 3 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 X 3 18 22 22 22 22 22 22 22 22 22 22 22 22 22 X 22 22 22 22 23 24 26 25 23 6 3 1 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 1 5 10 31 26 X 8 4 3 3 3 3 3 3 2 1 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 2 19 24 27 29 29 X 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 X 29 32 31 31 25 24 1 0 0 4 5 5 1 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 5 30 35 38 35 30 25 23 23 24 X 24 24 20 17 2 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 3 23 28 31 32 32 32 32 32 32 32 X 32 32 32 32 32 32 32 32 34 34 34 34 35 36 29 X 9 1 0 4 13 29 35 10 5 1 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 10 38 48 45 40 32 32 31 31 27 26 27 24 21 3 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 X 25 29 33 34 35 35 35 35 35 35 35 35 35 35 35 X 35 35 34 34 35 36 37 39 39 30 9 0 0 8 30 X 40 42 35 35 10 5 1 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 2 17 43 51 49 43 X 35 33 32 32 33 34 33 29 23 18 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 27 31 35 37 37 X 37 37 37 37 37 37 37 37 37 37 37 37 36 36 36 X 36 37 38 36 27 6 0 0 11 33 47 48 45 44 37 X 35 10 5 1 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 6 37 48 57 47 43 37 37 37 38 34 X 33 32 31 26 20 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 3 26 32 35 38 38 38 38 38 38 38 X 38 38 38 38 38 38 38 39 38 38 38 38 37 31 12 X 3 0 3 13 36 44 43 48 48 47 45 37 32 7 2 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 2 13 X 43 53 55 47 44 39 38 36 37 38 39 36 32 26 22 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 X 25 33 35 40 40 40 40 40 40 40 40 40 40 40 40 X 40 40 39 40 40 39 39 38 30 9 0 0 6 28 39 X 43 44 46 47 49 51 52 44 31 7 1 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 6 34 48 54 51 45 43 X 39 39 40 40 40 40 35 33 25 22 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 27 33 35 39 39 X 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 X 40 40 40 31 9 0 0 9 33 42 44 45 43 46 47 X 52 56 53 43 32 5 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 2 13 40 49 55 49 45 41 39 38 38 37 37 X 36 35 33 27 22 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 3 26 31 34 37 37 37 37 37 37 37 X 37 37 37 37 37 37 37 37 37 38 39 39 39 32 9 X 0 0 10 34 44 42 43 43 44 45 51 57 57 52 36 X 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 1 5 11 36 42 X 49 48 42 41 39 37 36 37 36 37 37 35 30 26 20 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 X 24 29 32 34 34 34 34 34 34 34 34 34 34 34 34 X 34 35 36 37 38 38 38 40 33 9 0 0 11 31 43 X 44 44 43 43 44 52 58 59 55 37 10 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 1 5 10 32 32 40 44 43 41 41 38 37 X 35 35 34 33 32 33 31 28 24 3 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 23 28 29 31 31 X 31 31 31 31 31 31 31 31 32 33 34 35 35 35 35 X 37 39 40 34 9 0 0 12 34 46 46 45 43 43 45 X 52 56 59 49 32 6 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 2 7 32 X 34 38 44 41 41 40 39 37 36 35 34 33 32 33 34 X 32 31 27 23 3 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 3 21 26 29 30 31 31 31 31 31 31 X 31 31 32 33 31 33 33 33 33 36 38 40 40 33 9 X 0 0 12 32 44 44 43 42 42 47 53 60 57 42 13 X 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 2 9 32 42 44 45 41 38 38 X 38 37 35 34 33 32 31 31 29 29 28 28 25 21 3 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 X 20 23 28 28 28 28 28 28 28 28 29 30 31 31 31 X 31 32 34 35 36 38 40 40 33 9 0 0 11 31 42 X 40 39 38 38 47 54 62 54 38 8 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 6 30 40 47 46 44 40 38 36 35 35 34 32 31 X 30 30 31 30 30 28 27 24 19 3 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 20 22 25 25 25 X 25 25 25 26 27 29 30 31 31 32 33 34 35 36 37 X 39 39 41 31 9 0 0 10 33 40 41 40 37 39 46 X 52 60 54 38 8 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 11 39 48 53 X 46 43 39 37 36 36 35 34 32 31 31 28 28 27 27 X 27 26 24 19 3 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 3 21 24 28 30 31 31 31 31 31 32 X 32 32 32 32 33 34 36 37 38 39 39 39 39 29 9 X 0 0 8 28 35 36 35 34 34 41 53 58 58 42 13 X 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 14 40 52 51 46 42 39 38 37 X 38 35 33 33 32 30 30 29 27 26 26 26 22 19 3 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 X 22 26 29 29 30 31 31 31 31 31 31 32 33 34 35 X 35 37 39 38 37 38 37 37 28 9 0 0 7 29 35 X 33 33 33 34 38 45 52 58 49 33 6 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 12 35 50 49 47 42 40 39 40 39 37 35 34 33 X 32 31 32 31 31 31 28 24 21 3 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 23 26 31 34 35 X 36 36 37 37 37 37 36 35 35 36 37 38 37 37 36 X 37 36 35 26 8 0 0 6 27 32 31 30 31 31 35 X 41 54 56 55 41 12 1 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 7 30 41 45 X 48 43 43 43 41 39 39 38 36 35 33 32 32 31 31 X 30 28 27 22 3 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 3 23 27 31 33 34 35 35 36 36 36 X 36 36 36 37 37 37 36 36 34 35 35 34 33 27 7 X 0 0 6 24 30 29 28 30 30 33 37 48 55 61 46 X 33 3 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 2 7 31 36 40 47 47 47 45 X 43 40 38 38 36 36 37 38 37 37 37 34 30 26 21 X 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3 X 22 28 31 36 38 38 39 39 39 39 38 38 39 38 37 X 35 35 34 34 34 33 32 31 25 6 0 0 6 23 28 X 29 30 31 30 32 35 44 53 58 51 37 7 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 1 5 12 33 40 46 51 47 45 43 40 40 38 X 37 36 36 36 36 36 35 33 28 21 2 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 21 27 32 36 39 X 38 40 40 40 41 41 41 39 37 35 34 33 32 32 32 X 31 30 30 25 6 0 0 6 24 31 31 29 29 28 31 X 34 38 51 59 57 41 12 1 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 X 9 33 43 50 52 48 45 42 40 40 40 39 39 40 40 X 41 39 35 31 24 4 1 0 0 0 0 0 0 0 0 X 0 0 0 0 2 20 25 32 35 39 40 39 39 40 40 X 41 40 38 36 34 32 32 31 29 30 31 31 30 25 4 X 0 0 6 25 30 29 28 27 27 28 31 37 46 53 59 X 49 37 5 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 2 9 33 42 48 X 50 47 45 43 41 41 40 40 41 41 40 38 38 33 25 X 19 2 0 0 0 0 0 0 0 0 0 0 0 0 3 X 23 28 31 35 38 38 38 37 36 37 36 37 38 35 34 X 32 30 29 30 30 32 32 27 8 2 0 2 8 25 28 X 27 26 25 25 26 29 32 40 51 59 54 41 11 1 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 2 9 33 43 49 47 45 44 43 X 40 39 40 41 41 41 41 38 33 26 21 3 0 0 0 X 0 0 0 0 0 0 0 0 0 2 18 26 29 33 35 X 36 37 38 38 38 38 37 36 35 33 33 32 32 31 31 X 31 30 23 6 0 0 3 20 26 27 26 24 23 23 26 X 27 34 37 48 56 58 50 35 5 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 2 7 33 38 45 50 45 44 42 41 40 39 39 X 38 39 37 33 25 20 2 0 0 0 0 0 0 0 0 X 0 0 0 0 2 4 25 28 31 33 34 35 36 35 34 X 33 32 31 31 32 32 32 31 31 29 29 28 22 5 0 X 0 4 23 25 25 24 23 22 22 25 26 31 34 42 53 X 59 55 37 9 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 X 14 34 41 45 47 44 43 41 41 38 37 37 34 31 26 X 22 2 0 0 0 0 0 0 0 0 0 0 0 0 0 X 1 21 23 29 31 32 34 34 34 35 34 33 32 31 31 X 30 30 29 28 28 27 26 23 4 0 0 3 22 24 23 X 22 22 22 22 24 27 29 34 40 51 56 57 41 12 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 4 11 32 40 45 X 47 46 44 43 39 39 35 33 30 25 21 2 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 3 23 26 29 X 30 31 32 31 30 30 30 30 30 29 29 28 27 27 26 X 25 25 21 3 0 0 3 20 22 22 22 22 22 22 24 X 28 29 33 39 52 54 52 36 9 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 X 0 0 0 0 0 0 2 7 33 36 42 46 48 44 41 X 40 35 35 29 26 21 3 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 2 18 24 26 29 29 30 31 31 X 30 29 29 28 27 26 26 26 25 24 23 23 19 3 0 X 0 3 19 22 22 22 22 22 22 24 28 28 37 46 51 X 53 44 32 5 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 1 5 20 23 3 0 0 0 0 X 0 0 1 5 12 34 41 46 49 43 40 36 32 29 27 X 20 3 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 1 3 21 24 26 28 28 27 26 25 26 27 27 27 X 26 25 24 23 22 22 22 19 3 0 0 3 19 22 22 X 22 22 22 22 23 28 29 38 46 53 49 35 7 1 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 1 3 23 22 19 3 0 0 0 0 0 0 0 0 2 X 9 33 42 46 46 43 38 34 31 29 21 4 1 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 2 22 22 X 25 25 25 25 27 26 25 25 25 25 24 23 22 22 22 X 22 21 18 2 0 0 3 19 22 22 22 22 22 22 24 X 28 33 44 53 59 46 17 3 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 1 4 23 26 26 7 X 3 0 0 0 0 0 0 0 0 0 2 9 32 41 44 X 43 38 36 31 26 23 17 2 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 1 17 20 23 22 22 22 23 X 23 23 22 22 22 22 22 22 22 22 22 20 4 1 0 X 1 4 20 22 22 22 22 22 22 24 25 31 40 51 56 X 47 36 5 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 2 25 30 29 7 2 0 0 0 0 0 X 0 0 0 0 0 0 2 7 32 34 39 41 36 33 28 X 24 18 3 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 1 19 19 22 22 22 22 22 22 22 22 22 22 X 22 22 22 22 22 22 19 3 0 0 2 18 21 22 22 X 22 22 22 22 24 25 31 38 48 53 54 41 14 4 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 X 33 36 38 26 5 2 1 0 0 0 0 0 0 0 0 X 0 0 1 5 11 29 32 33 33 27 23 20 5 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 18 19 X 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 X 22 19 3 0 0 3 19 22 22 22 22 22 22 22 23 X 27 28 34 42 50 54 53 37 10 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 10 40 44 44 33 29 X 23 6 4 2 1 0 0 0 0 0 0 0 0 0 2 X 6 11 30 23 6 6 14 4 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 19 19 18 19 21 21 X 22 22 22 22 22 22 22 22 22 22 22 19 3 0 0 X 3 19 22 22 22 22 22 22 22 23 25 29 30 38 47 X 54 58 48 35 1 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 17 43 56 50 40 35 30 26 24 21 3 X 1 0 0 0 0 0 0 0 0 0 0 1 4 4 3 X 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 19 19 19 21 21 21 22 22 X 22 22 22 22 22 21 18 2 0 0 3 19 22 22 22 X 22 23 23 24 25 25 29 31 34 42 53 59 54 40 5 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 X 49 65 55 48 44 38 37 30 28 23 4 1 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 19 19 18 19 20 20 20 21 21 22 23 X 22 4 1 0 1 4 23 25 25 25 25 25 25 25 26 X 27 28 31 36 40 51 57 58 46 8 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 24 52 71 63 55 50 X 44 43 36 34 27 24 3 1 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 19 19 17 18 19 18 19 20 18 2 0 0 1 X 18 21 21 21 21 22 24 26 27 28 28 30 32 35 41 X 52 57 54 40 8 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 25 56 75 68 61 56 51 48 42 40 34 X 29 22 2 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 1 18 19 20 19 1 0 0 1 19 19 19 20 18 X 19 23 24 26 29 29 31 32 36 44 51 58 48 35 5 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 X 56 79 73 65 61 57 53 49 42 37 31 26 22 1 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 1 2 20 19 23 23 26 X 27 28 31 39 47 53 52 38 11 1 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 27 59 80 77 72 68 X 62 59 54 48 43 37 31 24 5 2 1 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 1 3 18 21 21 24 27 31 38 44 X 47 42 31 5 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 27 61 86 83 76 73 69 62 57 49 43 X 37 32 26 23 18 3 1 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 1 2 3 20 23 20 25 31 36 35 33 6 1 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 X 63 89 88 84 82 77 71 62 54 45 40 34 28 27 24 X 18 2 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 1 2 5 9 28 10 5 1 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 29 62 93 93 91 88 X 84 75 65 56 47 40 36 31 29 24 23 22 1 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 X 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 28 60 90 91 90 89 85 80 65 55 44 X 40 35 32 30 27 24 21 21 2 1 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 X 54 80 78 79 76 86 79 68 54 43 41 34 34 29 28 X 26 24 20 17 2 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 2 4 24 23 6 3 1 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 11 45 57 62 52 60 X 79 68 68 50 43 40 34 33 29 28 27 25 23 20 19 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 1 5 23 28 29 X 27 24 4 1 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 4 34 44 47 48 47 67 66 67 50 42 X 38 35 34 28 27 26 26 24 21 21 18 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 1 4 27 32 35 38 35 31 25 3 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 X 27 36 40 44 44 59 57 62 48 42 38 35 33 27 27 X 25 25 24 22 21 19 19 19 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 X 21 27 35 42 43 41 37 29 7 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 4 25 34 35 37 39 X 56 55 59 45 41 41 36 32 30 25 22 22 22 22 22 X 21 21 19 19 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 26 35 41 45 47 X 46 40 35 25 2 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 6 27 31 36 37 38 48 47 59 45 42 X 40 37 31 28 25 22 22 22 22 22 22 22 22 19 19 X 19 19 19 1 1 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 1 5 27 35 42 47 50 47 42 38 29 4 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 X 24 33 33 31 27 26 42 50 47 46 41 39 32 29 25 X 22 22 22 22 22 22 22 22 21 21 21 21 19 19 20 X 20 3 3 2 1 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 2 21 X 28 37 44 46 48 48 43 37 29 4 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 3 7 24 24 11 6 X 10 30 36 41 41 44 39 33 30 25 22 22 22 22 22 X 22 22 22 22 22 22 23 24 24 23 20 20 18 17 4 X 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 1 5 26 33 39 43 46 48 X 45 41 34 24 4 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 3 6 6 3 0 1 5 10 39 44 X 48 41 34 30 25 22 22 22 22 22 22 22 23 24 25 X 25 25 23 23 26 27 27 26 25 23 21 4 3 2 1 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 1 2 22 24 27 33 37 43 43 45 42 36 30 7 2 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 1 10 36 42 40 35 30 25 X 22 22 22 22 23 24 25 26 25 26 28 28 30 31 30 X 29 29 30 29 27 27 27 24 22 7 6 5 4 3 2 X 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 2 19 24 26 33 X 37 38 43 44 42 38 32 26 3 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 5 35 39 40 33 30 24 22 23 24 25 27 X 26 25 28 30 32 31 32 33 33 35 34 35 34 34 36 X 35 34 32 31 28 27 27 28 23 18 1 0 0 0 0 X 0 0 1 3 5 6 5 4 3 3 3 2 1 0 0 X 0 0 0 1 2 5 23 26 30 33 38 39 43 43 40 X 36 29 6 1 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 1 12 X 33 40 33 29 26 25 26 25 27 28 29 31 33 32 35 X 36 38 39 41 43 43 43 43 44 44 44 44 42 41 40 X 40 37 34 29 24 2 0 0 0 0 0 1 4 23 24 X 27 27 30 30 30 28 26 24 7 6 5 5 5 7 24 X 25 27 29 30 35 36 39 41 41 37 32 25 3 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 7 27 33 32 28 29 X 30 31 31 32 33 35 36 39 39 42 43 46 48 49 51 X 51 52 50 50 50 50 50 50 50 50 49 47 41 33 23 X 2 0 0 0 0 0 3 25 31 37 41 41 38 38 37 X 35 38 34 33 31 29 31 28 30 29 29 29 30 33 36 X 35 39 38 38 34 27 6 1 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 3 9 31 31 30 32 32 33 35 36 38 X 40 43 45 46 49 52 53 53 53 54 54 54 54 54 54 X 54 54 54 54 54 54 51 44 34 24 2 0 0 0 0 X 1 7 31 40 46 48 49 50 50 49 49 48 48 49 47 X 46 44 41 37 34 30 32 32 32 33 34 34 34 33 29 X 24 3 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 X 25 29 33 36 36 37 39 43 44 45 48 51 52 53 54 X 55 56 57 58 58 57 57 57 58 59 59 59 59 58 57 X 56 51 43 31 7 1 0 0 0 0 3 28 36 46 51 X 53 53 53 54 56 57 59 61 61 64 60 54 46 39 33 X 32 29 28 27 28 30 31 29 29 22 4 1 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 3 6 25 27 28 31 36 40 43 44 X 45 48 50 52 54 55 55 55 57 58 59 59 58 58 57 X 56 56 55 53 53 53 53 53 53 54 53 47 39 29 5 X 0 0 0 0 0 5 28 38 49 53 55 54 56 58 60 X 62 68 72 72 71 64 55 45 35 32 28 27 27 24 24 X 24 23 24 5 2 1 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 5 27 35 38 40 45 47 50 51 52 53 56 57 56 57 X 57 58 59 59 57 56 56 54 53 54 53 53 52 51 50 X 50 50 50 51 49 46 41 32 24 2 0 0 0 0 1 X 7 32 41 47 50 51 52 54 59 62 66 72 76 75 72 X 60 48 37 29 24 23 22 20 4 3 3 3 2 1 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 1 11 37 47 50 53 X 57 58 62 63 63 63 62 63 63 61 60 58 57 57 54 X 53 53 50 49 47 46 47 46 46 46 46 46 46 43 40 X 33 29 25 4 1 0 0 0 0 2 25 30 37 45 46 X 47 51 51 57 61 67 72 75 68 58 44 35 26 22 22 X 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 1 2 19 30 42 56 61 64 65 69 71 69 71 X 70 67 65 61 62 58 56 54 52 49 47 44 43 41 38 X 37 38 39 40 40 40 40 39 36 32 26 7 3 1 0 X 0 0 0 1 5 27 34 38 39 42 43 47 50 56 60 X 64 66 60 51 43 32 25 4 2 1 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 2 17 21 X 37 48 62 66 69 73 72 75 75 75 73 70 70 64 61 X 58 53 50 45 43 39 37 36 35 34 33 32 31 31 31 X 31 31 31 29 25 5 1 0 0 0 0 0 0 2 21 X 26 28 31 33 38 42 47 51 56 60 60 56 46 37 25 X 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 3 19 23 38 50 68 71 72 X 71 75 78 79 79 75 72 67 64 61 56 52 46 42 40 X 36 33 31 30 31 27 29 28 28 28 28 28 28 25 21 X 3 0 0 0 0 0 0 1 22 22 27 29 32 37 38 X 44 48 55 57 59 56 49 35 9 2 1 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 3 20 25 36 45 58 65 74 76 77 75 73 75 X 74 73 70 65 60 56 50 46 41 38 34 31 29 28 27 X 26 26 25 25 25 25 25 24 21 17 2 0 0 0 0 X 0 0 2 20 22 28 30 33 36 43 48 52 58 57 56 X 50 39 27 4 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 3 22 26 X 31 40 53 55 59 63 68 74 77 77 72 69 66 65 61 X 58 53 48 43 41 35 34 31 29 28 27 26 25 25 25 X 25 25 22 21 3 1 0 0 0 0 0 0 3 20 23 X 28 32 37 42 49 54 57 60 57 52 40 31 7 2 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 3 22 25 29 33 38 45 51 X 57 56 60 62 64 69 66 64 62 60 59 54 53 46 45 X 39 37 34 32 31 31 31 31 31 31 30 28 24 18 1 X 0 0 0 0 0 0 1 5 23 26 32 36 42 50 56 X 59 61 59 53 42 32 7 2 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 3 18 26 27 31 33 34 36 41 45 50 55 57 X 58 61 62 65 64 63 56 57 51 52 44 44 40 39 37 X 34 34 34 34 34 33 30 24 19 1 0 0 0 0 0 X 0 3 23 28 33 39 43 50 55 59 61 59 52 40 33 X 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 2 15 21 X 25 26 30 30 31 32 33 34 37 44 48 49 49 53 56 X 64 58 61 55 57 53 51 48 46 45 42 42 41 41 41 X 39 35 27 22 1 0 0 0 0 0 2 25 31 38 42 X 47 51 55 57 57 54 48 42 31 9 3 1 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 1 2 3 22 21 25 26 30 X 32 32 34 34 36 40 42 44 48 47 55 53 63 58 58 X 57 55 54 53 52 50 51 52 52 51 46 40 31 21 1 X 0 0 0 0 2 7 31 37 47 52 56 58 60 54 51 X 43 38 29 7 4 17 18 19 18 17 18 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 1 2 5 20 24 25 25 28 30 32 X 33 34 34 37 39 46 46 54 52 60 59 58 57 55 55 X 54 52 52 52 51 49 41 30 7 1 0 0 0 0 5 X 25 41 50 57 60 62 59 57 47 40 34 26 23 22 21 X 21 21 20 20 18 17 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 1 2 3 5 21 25 28 29 32 32 34 35 34 X 37 37 45 44 50 49 59 61 62 59 55 56 56 56 54 X 49 41 28 5 0 0 0 0 0 8 31 45 55 61 61 X 62 57 47 39 30 25 23 22 21 21 22 22 21 19 17 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 1 2 4 20 24 26 30 31 33 33 35 32 34 36 41 X 40 45 46 49 53 49 50 51 51 51 45 38 28 3 0 X 0 0 0 2 11 35 48 58 61 60 55 47 40 33 28 X 24 22 22 24 24 24 21 19 16 1 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 X 23 25 30 31 32 34 33 31 29 29 31 35 41 41 40 X 38 34 35 35 35 35 28 7 1 0 0 0 1 4 24 X 34 44 51 52 48 46 40 33 27 24 24 25 23 23 21 X 21 17 20 2 1 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 1 4 22 25 27 28 X 29 30 31 30 28 26 24 25 26 29 29 30 31 31 30 X 29 25 22 19 20 21 22 22 23 26 33 38 43 43 42 X 39 35 33 31 29 28 27 22 21 17 21 2 1 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 1 3 20 22 25 28 30 30 30 29 X 27 25 24 23 22 21 21 21 22 22 22 22 20 19 19 X 20 22 23 26 29 32 34 36 37 36 35 32 32 31 30 X 28 27 21 5 2 1 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 1 2 3 23 23 23 27 27 29 28 27 26 25 24 X 23 22 22 22 22 22 22 22 23 24 25 27 29 31 30 X 32 34 36 36 37 37 38 36 35 34 30 25 22 3 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 X 4 20 24 25 27 29 29 28 26 26 25 24 23 22 22 X 22 22 23 23 24 26 28 30 32 34 35 37 39 40 42 X 40 38 37 36 33 32 25 21 3 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 1 2 22 22 26 X 29 30 29 28 28 26 25 24 24 23 23 23 25 26 28 X 29 30 33 35 36 38 39 40 40 41 41 41 39 37 31 X 32 25 21 3 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 2 23 25 28 30 31 30 29 X 28 27 27 26 25 25 24 25 27 28 31 32 34 35 38 X 40 39 40 40 40 40 39 38 36 31 29 25 19 2 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 2 22 23 30 29 33 32 31 30 29 28 27 27 X 27 29 28 29 29 31 33 35 36 37 39 40 41 41 40 X 39 37 35 32 31 26 21 3 1 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 1 19 22 X 28 29 32 33 33 32 31 32 30 30 29 29 29 30 31 X 32 34 35 36 34 35 34 35 33 35 33 33 31 29 26 X 21 20 1 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 1 4 21 28 30 32 34 34 X 34 33 32 31 32 33 32 33 33 32 33 34 34 34 35 X 36 35 34 33 32 31 28 27 22 23 2 1 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 3 20 26 28 32 32 36 36 35 34 33 33 X 32 31 32 33 34 35 34 32 31 30 28 27 26 26 27 X 25 21 23 2 1 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 2 18 X 23 25 31 32 36 37 36 36 35 36 37 36 35 35 36 X 36 33 30 29 28 25 23 23 22 22 3 2 1 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 1 3 21 26 29 33 35 X 37 38 38 38 37 36 37 38 37 36 35 32 30 27 21 X 4 3 3 2 1 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 1 3 22 26 30 34 35 37 38 39 39 X 40 40 39 38 36 34 32 28 24 4 1 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 1 4 24 27 31 34 33 35 36 35 36 36 35 36 34 X 31 30 26 20 2 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 2 20 26 28 X 30 31 33 34 34 35 35 33 32 32 30 26 24 21 1 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0)) END_OF_FILE if test 40677 -ne `wc -c <'./example/globe.in'`; then echo shar: \"'./example/globe.in'\" unpacked with wrong size! fi # end of './example/globe.in' fi if test ! -d './src' ; then echo shar: Creating directory \"'./src'\" mkdir './src' fi if test -f './src/Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'./src/Makefile'\" else echo shar: Extracting \"'./src/Makefile'\" \(1309 characters\) sed "s/^X//" >'./src/Makefile' <<'END_OF_FILE' XLIBS = -lm -lXaw -lXt -lXmu -lX11 -lXext XFLAGS = XCOBJ = clim.o heat.o pressure.o wind.o rain.o climate.o fileio.o XTOBJ = tec1.o tec2.o tec3.o fileio.o XGOBJ = globe.o fileio.o XGRAF = x X X# Change GRAF from x to unix to produce text-only versions X Xall: clim tec globe X Xclim: $(COBJ) $(GRAF).o; cc $(FLAGS) -o clim $(COBJ) $(GRAF).o $(LIBS) Xtec: $(TOBJ) $(GRAF).o; cc $(FLAGS) -o tec $(TOBJ) $(GRAF).o $(LIBS) Xglobe: $(GOBJ) $(GRAF).o; cc $(FLAGS) -o globe $(GOBJ) $(GRAF).o $(LIBS) X Xtec1.o: tec1.c const.h tec.h; cc $(FLAGS) -c tec1.c Xtec2.o: tec2.c const.h tec.h; cc $(FLAGS) -c tec2.c Xtec3.o: tec3.c const.h tec.h; cc $(FLAGS) -c tec3.c X Xglobe.o: globe.c const.h; cc $(FLAGS) -c globe.c X Xclim.o: clim.c const.h clim.h; cc $(FLAGS) -c clim.c Xheat.o: heat.c const.h clim.h; cc $(FLAGS) -c heat.c Xpressure.o: pressure.c const.h clim.h; cc $(FLAGS) -c pressure.c Xwind.o: wind.c const.h clim.h; cc $(FLAGS) -c wind.c Xrain.o: rain.c const.h clim.h; cc $(FLAGS) -c rain.c Xclimate.o: climate.c const.h clim.h; cc $(FLAGS) -c climate.c X Xfileio.o: fileio.c const.h clim.h; cc $(FLAGS) -c fileio.c Xunix.o: unix.c const.h; cc $(FLAGS) -c unix.c Xx.o: x.c const.h clim.h; cc $(FLAGS) -c x.c END_OF_FILE if test 1309 -ne `wc -c <'./src/Makefile'`; then echo shar: \"'./src/Makefile'\" unpacked with wrong size! fi # end of './src/Makefile' fi if test -f './src/rain.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'./src/rain.c'\" else echo shar: Extracting \"'./src/rain.c'\" \(7151 characters\) sed "s/^X//" >'./src/rain.c' <<'END_OF_FILE' X/* This program is Copyright (c) 1991 David Allen. It may be freely X distributed as long as you leave my name and copyright notice on it. X I'd really like your comments and feedback; send e-mail to X allen@viewlogic.com, or send us-mail to David Allen, 10 O'Moore X Avenue, Maynard, MA 01754. */ X X/* This file contains the routines to compute rainfall. */ X X#include "const.h" X#include "clim.h" X X/* The input data arrays are l and lm, from main.c, wd, from wind.c, X and pr, from pressure.c. Output arrays are rm and rn; fr and fs are X used as temporary storage. */ X Xextern unsigned char l[MAXX][MAXY], lm[MAXX][MAXY], wd[MAXB][MAXX][MAXY]; Xextern unsigned char pr[MAXB][MAXX][MAXY]; Xunsigned char rn[MAXB][MAXX][MAXY]; Xstatic unsigned char fr[2][MAXX][MAXY], fs[MAXX][MAXY]; X X X/* The externs below are parameters defined in main.c; the ints are X parameters defined here. */ X Xextern int BSIZE, XSIZE, YSIZE; Xint MAXFETCH = 5, RAINCONST = 32, LANDEL = 10, MOUNTDEL = 32, FETCHDEL = 4; Xint NRFDEL = 3, HEQDEL = 32, NRHEQDEL = 24, FLANKDEL = -24, PRINTRAIN = 0; X X Xrainpar (s) char *s; { X /* This function is called by mainpar() in main.c; it simply tests input X parameter names to see if they are defined in this file. Each of the X above ints are defined in this file. If the input string matches here, X the function returns true. */ X X if (CMP ("MAXFETCH")) getlng (&MAXFETCH, M_RAIN); X else if (CMP ("RAINCONST")) getlng (&RAINCONST, M_RAIN); X else if (CMP ("LANDEL")) getlng (&LANDEL, M_RAIN); X else if (CMP ("MOUNTDEL")) getlng (&MOUNTDEL, M_RAIN); X else if (CMP ("FETCHDEL")) getlng (&FETCHDEL, M_RAIN); X else if (CMP ("HEQDEL")) getlng (&HEQDEL, M_RAIN); X else if (CMP ("NRHEQDEL")) getlng (&NRHEQDEL, M_RAIN); X else if (CMP ("FLANKDEL")) getlng (&FLANKDEL, M_RAIN); X else if (CMP ("NRFDEL")) getlng (&NRFDEL, M_RAIN); X else if (CMP ("PRINTRAIN")) getlng (&PRINTRAIN, M_RAIN); X else return (0); X return (1); } X X Xraincomp () { X /* This is the main rain computation function. It calls the functions X getfetch () and getrain () to do all the work for each buffer, then X prints out the results if needed. */ X X register int buf; X X for (buf=0; buf 255) x = 255; X rn[buf][i][j] = x; } } END_OF_FILE if test 7151 -ne `wc -c <'./src/rain.c'`; then echo shar: \"'./src/rain.c'\" unpacked with wrong size! fi # end of './src/rain.c' fi echo shar: End of archive 1 \(of 4\). cp /dev/null ark1isdone MISSING="" for I in 1 2 3 4 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 4 archives. rm -f ark[1-9]isdone else echo You still must unpack the following archives: echo " " ${MISSING} fi exit 0 exit 0 # Just in case... -- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM Sterling Software, IMD UUCP: uunet!sparky!kent Phone: (402) 291-8300 FAX: (402) 291-4362 Please send comp.sources.misc-related mail to kent@uunet.uu.net.