pro juldat,julian,mon,day,yr,cdate ;---------------------------------------------------------- ; ; Input: ; julian = julian date (e.g., 1993280 or 93280, which is 7-oct-1993) ; ; Output: ; mon = month (e.g., 10) ; day = day (e.g., 7) ; yr = year (e.g., 1993) ; cdate = date as character string (e.g., '10/7/1993') ; ; This routine will turn 2 digit years into 4 digit years, i.e. 99 = 1999 ; ; Source: Mark Hervig ;---------------------------------------------------------- dayoff = [0,31,59,90,120,151,181,212,243,273,304,334,365] ; 1st day of month nd = n_elements(julian) mon = intarr(nd) day = intarr(nd) yr = intarr(nd) cdate = strarr(nd) ; loop over nd dates for i = 0L,nd-1 do begin dayof = dayoff yy = fix(julian(i)/1000) dd = fix(julian(i) - yy*1000) leapyr = yy - fix(yy/4) * 4 if (yy le 99 and yy gt 50) then yy = 1900+yy if (yy le 50) then yy = 2000 + yy for im = 0,12 do $ if ( (leapyr eq 0) and (im ge 2) ) then dayof(im) = dayof(im) + 1 for im = 0,11 do begin if ( (dd gt dayof(im)) and (dd le dayof(im+1))) then begin mon(i) = im+1 day(i) = dd - dayof(im) yr(i) = yy cd = strtrim(string(mon(i)),2)+$ '/'+strtrim(string(day(i)),2)+$ '/'+strtrim(string(yr(i)),2) cdate(i) = strtrim(string(cd),2) goto,jump1 endif endfor print,' juldat.pro: date not found', julian(i) mon(i)= 0 yr(i) = 0 day(i)= 0 jump1: endfor if nd eq 1 then begin mon = mon(0) yr = yr(0) day = day(0) cdate = cdate(0) endif return end