1. THIS IS DATAPLOT MACRO     CALENDAR.DP
2. PURPOSE--COMPUTE
3. INPUT--JD1 =
4.        JD2 =
5.
6. -----START POINT-----
7.
8.  determines day of month of year from julean date
9.
10.
11LET YEARI    = INT(JDI/1OOO)+1900
12LET DOM      = JD1~((YEAR1~19oo)*1ooo)
13LET LEAP     - INT(YEARI/4)
14LET LEAPCK   = YEARI/4
15                                  January
16   IF DOM <= 31
17     LET STRING MST = UC()JLC()ANUARY,
18     LET TXDOM=DOM
19   END IF
20  LET DOM = DOM-31
21   IF DOM <= O
22     LET DOM - INFINITY
23   END IF
24                                   February
25   IF LEAPCK = LEAP
26     IF DOM <= 29
27       LET STRING MST - UC()FLC()EBRUARY,
28       LET TXDOM=DOM
29     END IF
30     LET DOM - DOM-29
31     IF LEAPCK > LEAP
32       LET DOM = DOM+29
33     END IF
34     IF DOM <= O
35       LET DOM = INFINITY
36     END IF
37   END IF
38
39   IF LEAPCK > LEAP
40     IF DOM <- 28
41       LET STRING MST = UC()FLC()EBRUARY,
42       LET TXDOM=DOM
43     END IF
44     LET DOM = DOM-28
45     IF LEAPCK = LEAP
46       LET DOM = DOM+28
47     END IF
48     IF DQM <= O
49       LET DOM = INFINITY
50     END IF
51   END IF
52                                   March
53   IF DOM <- 31
54     LET STRING MST = UC()MLC()ARCH,
55     LET TXDOM-DOM
56   END IF
57   LET DOM - DOM-31
58   IF DOM <= O
59     LET DOM - INFINITY
60   END IF
61                                   April
62   IF DOM <= 30
63     LET STRING MST = UC()ALC()PRIL,
64     LET TXDOM=DOM
65   END IF
66   LET DOM = DON-30
67   IF DOM <- O
68     LET DOM - INFINITY
69   END IF
70
71                                 May
72IF DOM <- 31
73   LET STRING MST - UC()MLC()AY,
74   LET TXDOM-DOM
75END IF
76LET DOM - DOM-31
77IF DOM <- 0
78   LET DOM - INFINITY
79END IF
80                                 June
81IF DOM <= 30
82   LET STRING MST - UC()JLC()UNE,
83   LET TXDOM=DOM
84END IF
85LET DOM = DOM-30
86IF DOM <- 0
87   LET DOM = INFINITY
88END IF
89                                 July
90IF DOM <= 31
91   LET STRING MST - UC()JLC()ULY,
92   LET TXDOM=DOM
93END IF
94LET DOM = DOM-31
95IF DOM <= 0
96   LET DOM - INFINITY
97END IF
98                                 August
99IF DOM <= 31
100   LET STRING MST = UC()ALC()UGUST,
101   LET TXDOM=DOM
102END IF
103LET DOM = DOM-31
104IF DOM <= 0
105   LET DOM = INFINITY
106END IF
107                                 September
108IF DOM <= 30
109   LET STRING MST = UC()SLC()EPTEMBER,
110   LET TXDOM=DOM
111END IF
112LET DOM = DOM-30
113IF DOM <- 0
114   LET DOM - INFINITY
115END IF
116                                 October
117IF DOM <= 31
118   LET STRING MST - UC()OLC()CTOBER,
119   LET TXDOM=DOM
120END IF
121LET DOM = DOM-31
122IF DOM <= 0
123   LET DOM - INFINITY
124END IF
125                                 Novembe r
126IF DOM <= 30
127   LET STRING MST - tJC()NLC()OVEMBER,
128   LET TXDOM-DOM
129END IF
130LET DOM - DOM-30
131IF DOM <- 0
132   LET DOM = INFINITY
133-END IF
134
135                                   December
136   IF DOM <= 31
137     LET STRING MST - UC()DLC()ECEMBER,
138     LET TXDOM=DOM
139   END IF
140
141LET TXDOMI - TXDOM
142LET STRING MSTI = \MST
143LET STRING DAYSTI - VALU()TXDOMI \MSTI VALU()YEARI
144
145     �2nd day
146
147   �determines day of month of year from julean date
148
149LET YEAR2    - INT(JD2/1000)+1900
150LET DOM      = JD2-((YEAR2-1900)*1000)
151LET LEAP     = INT(YEAR2/4)
152LET LEAPCK   = YEAR2/4
153                                  January
154   IF DOM <= 31
155     LET STRING MST = UC()JLC()ANUARY,
156     LET TXDOM-DOM
157   END IF
158   LET DOM   DOM-31
159   IF DOM <= 0
160     LET DOM - INFINITY
161   END IF
162                                   February
163   IF LEAPCK = LEAP
164     IF DOM <= 29
165       LET STRING MST - UC()FLC()EBRUARY,
166       LET TXDOM=DOM
167     END IF
168     LET DOM = DOM-29
169     IF LEAPCK > LEAP
170       LET DOM = DOM+29
171     END IF
172     IF DOM <= 0
173       LET DOM = INFINITY
174     END IF
175   END IF
176
177   IF LEAPCK > LEAP
178     IF DOM <- 28
179       LET STRING MST - UC()FLC()EBRUARY,
180       LET TXDOM=DOM
181     END IF
182     LET DOM = DOM-28
183     IF LEAPCK - LEAP
184       LET DOM = DOM+28
185     END IF
186     IF DOM <= 0
187       LET DOM = INFINITY
188     END IF
189   END IF
190                                   March
191   IF DOM <- 31
192     LET STRING MST - UC()MLC()ARCH,
193     LET TXDOM=DOM
194   END IF
195   LET DOM - DOM-31
196   IF DOM <- 0
197     LET DOM = INFINITY
198
199END IF
200                                 April
201IF DOM <= 30
202   LET STRING MST - UC()ALC()PRIL,
203   LET TXDOM-DOM
204END IF
205LET DOM = DOM-30
206IF DOM <- 0
207   LET DOM = INFINITY
208END IF
209                                 May
210IF DOM <= 31
211   LET STRING MST = UC()MLC()AY,
212   LET TXDOM=DOM
213END IF
214LET DOM = DOM-31
215IF DOM <= 0
216   LET DOM - INFINITY
217END IF
218                                 June
219IF DOM <= 30
220   LET STRING MST = UC()JLC()UNE,
221   LET TXDOM=DOM
222END IF
223LET DOM = DOM-30
224IF DOM <= 0
225   LET DOM = INFINITY
226END IF
227                                 July
228IF DOM <- 31
229   LET STRING MST = UC()JLC()ULY,
230   LET TXDOM=DOM
231END IF
232LET DOM = DOM-31
233IF DOM <= 0
234   LET DOM = INFINITY
235END IF
236                                 August
237IF DOM <= 31
238   LET STRING MST = UC()ALC()UGUST,
239   LET TXDOM=DOM
240END IF
241LET DOM = DOM-31
242IF DOM <= 0
243   LET DOM = INFINITY
244END IF
245                                 September
246IF DOM <- 30
247   LET STRING MST = UC()SLC()EPTEMBER,
248   LET TXDOM=DOM
249END IF
250LET DOM = DOM-30
251IF DOM <- 0
252   LET DOM = INFINITY
253END IF
254                                 October
255IF DOM <= 31
256   LET STRING MST - UC()OLC()CTOBER,
257   LET TXDOM=DOM
258END IF
259LET DOM = DOM-31
260-IF DOM <- 0
261   LET DOM = INFINITY
262
263   END IF
264                                   Novembe r
265   IF DOM <- 30
266     LET STRING MST = UC()NLC()OVEMBER,
267     LET TXDOM=DOM
268   END IF
269   LET DOM - DOM-30
270   IF DOM <= 0
271     LET DOM = INFINITY
272   END IF
273                                   December
274   IF DOM <- 31
275     LET STRING MST - UC()DLC()ECEMBER,
276     LET TXDOM-DOM
277   END IF
278
279LET TXDOM2 = TXDOM
280LET STRING MST2 - \MST
281LET STRING DAYST2 - VALU()TXDOM2 \MST2 VALU()YEAR2
282
283