Changeset 69 for trunk/ToBeReviewed/CALENDRIER
- Timestamp:
- 05/11/06 12:35:53 (18 years ago)
- Location:
- trunk/ToBeReviewed/CALENDRIER
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ToBeReviewed/CALENDRIER/.idlwave_catalog
r68 r69 2 2 ;; IDLWAVE catalog for library saxo 3 3 ;; Automatically Generated -- do not edit. 4 ;; Created by idlwave_catalog on T ue Jan 24 17:06:1920064 ;; Created by idlwave_catalog on Thu May 4 08:42:55 2006 5 5 ;; 6 6 (setq idlwave-library-catalog-libname "saxo") … … 8 8 '(("CALDAT" pro nil (lib "caldat.pro" nil "saxo") "%s, julian, month, day, year, hour, minute, second" (nil ("NDAYSPM"))) 9 9 ("def_month" fun nil (lib "def_month.pro" nil "saxo") "Result = %s(timave, date)" (nil)) 10 ("JULDAY" fun nil (lib "julday.pro" nil "saxo") "Result = %s(MONTH, DAY, YEAR , Hour, Minute, Second)" (nil ("NDAYSPM")))))10 ("JULDAY" fun nil (lib "julday.pro" nil "saxo") "Result = %s(MONTH, DAY, YEARin, Hour, Minute, Second)" (nil ("NDAYSPM"))))) -
trunk/ToBeReviewed/CALENDRIER/caldat.pro
r9 r69 113 113 year = TEMPORARY(year) - (month GT 2) 114 114 year = year - (year LE 0) 115 116 115 ; see if we need to do hours, minutes, seconds 117 116 IF (nParam GT 4) THEN BEGIN … … 176 175 END 177 176 'noleap':BEGIN 177 178 jul = long(julian) 179 year = jul/365 + 1 180 day = jul MOD 365L 181 ; 182 ; 183 zero = where(day EQ 0) 184 ; 185 month = 1 + (day GT 31) + (day GT 59) + (day GT 90) + (day GT 120) $ 186 + (day GT 151) + (day GT 181) + (day GT 212) + (day GT 243) $ 187 + (day GT 273) + (day GT 304) + (day GT 334) 188 month = long(month) 189 ; 190 day = day - 31L * (day GT 31) - 28L * (day GT 59) - 31L * (day GT 90) $ 191 - 30L * (day GT 120) - 31L * (day GT 151) - 30L * (day GT 181) $ 192 - 31L * (day GT 212) - 31L * (day GT 243) - 30L * (day GT 273) $ 193 - 31L * (day GT 304) - 30L * (day GT 334) 194 ; 195 IF zero[0] NE -1 THEN BEGIN 196 year[zero] = year[zero]-1 197 month[zero] = 12L 198 day[zero] = 31L 199 ENDIF 200 178 201 END 179 202 ELSE:BEGIN … … 183 206 ENDCASE 184 207 ; 208 zero = where(year ge 600000L, cnt) 209 IF cnt NE 0 THEN year[zero] = year[zero]-654321L 210 ; 185 211 return 186 212 -
trunk/ToBeReviewed/CALENDRIER/julday.pro
r9 r69 84 84 ;- 85 85 ; 86 function JULDAY, MONTH, DAY, YEAR , Hour, Minute, Second, NDAYSPM = ndayspm86 function JULDAY, MONTH, DAY, YEARin, Hour, Minute, Second, NDAYSPM = ndayspm 87 87 ;------------------------------------------------------------ 88 88 @cm_4cal … … 95 95 IF n_elements(key_caltype) EQ 0 THEN key_caltype = 'greg' 96 96 if keyword_set(ndayspm) then key_caltype = '360d' 97 ; 98 99 YEAR = long(yearin) 100 zero = where(year EQ 0, cnt) 101 IF cnt NE 0 THEN YEAR[zero] = 654321L 97 102 ; 98 103 CASE key_caltype OF … … 170 175 ; 171 176 ; by seb Aug 2003 177 172 178 tochange = where(L_MONTH LT 0) 173 179 IF tochange[0] NE -1 THEN BEGIN … … 175 181 L_MONTH[tochange] = 12 + L_MONTH[tochange] MOD 12 176 182 ENDIF 183 177 184 tochange = where(L_MONTH GT 12) 178 185 IF tochange[0] NE -1 THEN BEGIN … … 189 196 JM = L_MONTH + (1b + 12b*TEMPORARY(inJanFeb)) 190 197 191 192 198 JUL = floor(365.25d * JY) + floor(30.6001d*TEMPORARY(JM)) + L_DAY + 1720995L 193 194 199 195 200 ; Test whether to change to Gregorian Calandar. … … 252 257 END 253 258 'noleap':BEGIN 259 260 L_MONTH = LONG(MONTH) 261 L_DAY = LONG(DAY) 262 L_YEAR = LONG(YEAR) 263 ; 264 tochange = where(L_MONTH LT 0) 265 IF tochange[0] NE -1 THEN BEGIN 266 L_YEAR[tochange] = L_YEAR[tochange]+L_MONTH[tochange]/12-1 267 L_MONTH[tochange] = 12 + L_MONTH[tochange] MOD 12 268 ENDIF 269 ; 270 tochange = where(L_MONTH GT 12) 271 IF tochange[0] NE -1 THEN BEGIN 272 L_YEAR[tochange] = L_YEAR[tochange]+L_MONTH[tochange]/12 273 L_MONTH[tochange] = L_MONTH[tochange] MOD 12 274 ENDIF 275 ; 276 L_YEAR = L_YEAR - 1 277 ; 278 daysyear = long(total([0, 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30], /cumulative)) 279 280 return, 365*L_YEAR + daysyear[L_MONTH] + L_DAY 281 254 282 END 255 283 ELSE:return, report('only 3 types of calendar are accepted: greg, 360d and noleap')
Note: See TracChangeset
for help on using the changeset viewer.