Ignore:
Timestamp:
05/11/06 12:35:53 (18 years ago)
Author:
smasson
Message:

debug + new xxx

Location:
trunk/ToBeReviewed/CALENDRIER
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ToBeReviewed/CALENDRIER/.idlwave_catalog

    r68 r69  
    22;; IDLWAVE catalog for library saxo 
    33;; Automatically Generated -- do not edit. 
    4 ;; Created by idlwave_catalog on Tue Jan 24 17:06:19 2006 
     4;; Created by idlwave_catalog on Thu May  4 08:42:55 2006 
    55;; 
    66(setq idlwave-library-catalog-libname "saxo") 
     
    88 '(("CALDAT" pro nil (lib "caldat.pro" nil "saxo") "%s, julian, month, day, year, hour, minute, second" (nil ("NDAYSPM"))) 
    99   ("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  
    113113      year = TEMPORARY(year) - (month GT 2) 
    114114      year = year - (year LE 0) 
    115  
    116115; see if we need to do hours, minutes, seconds 
    117116      IF (nParam GT 4) THEN BEGIN 
     
    176175    END  
    177176    '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 
    178201    END  
    179202    ELSE:BEGIN 
     
    183206  ENDCASE 
    184207; 
     208  zero = where(year ge 600000L, cnt) 
     209  IF cnt NE 0 THEN year[zero] = year[zero]-654321L 
     210; 
    185211  return 
    186212 
  • trunk/ToBeReviewed/CALENDRIER/julday.pro

    r9 r69  
    8484;- 
    8585; 
    86 function JULDAY, MONTH, DAY, YEAR, Hour, Minute, Second, NDAYSPM = ndayspm 
     86function JULDAY, MONTH, DAY, YEARin, Hour, Minute, Second, NDAYSPM = ndayspm 
    8787;------------------------------------------------------------ 
    8888@cm_4cal 
     
    9595  IF n_elements(key_caltype) EQ 0 THEN key_caltype = 'greg' 
    9696  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 
    97102; 
    98103  CASE key_caltype OF 
     
    170175; 
    171176; by seb Aug 2003 
     177 
    172178      tochange = where(L_MONTH LT 0) 
    173179      IF tochange[0] NE -1 THEN BEGIN 
     
    175181        L_MONTH[tochange] =  12 + L_MONTH[tochange] MOD 12 
    176182      ENDIF 
     183 
    177184      tochange = where(L_MONTH GT 12) 
    178185      IF tochange[0] NE -1 THEN BEGIN 
     
    189196      JM = L_MONTH + (1b + 12b*TEMPORARY(inJanFeb)) 
    190197 
    191  
    192198      JUL = floor(365.25d * JY) + floor(30.6001d*TEMPORARY(JM)) + L_DAY + 1720995L 
    193  
    194199 
    195200; Test whether to change to Gregorian Calandar. 
     
    252257    END  
    253258    '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 
    254282    END  
    255283    ELSE:return, report('only 3 types of calendar are accepted: greg, 360d and noleap') 
Note: See TracChangeset for help on using the changeset viewer.