pro dmy2doy,yyyy,mm,dd,doy,DISP=disp if N_params( ) lt 1 then begin print,'dmy2doy,yyyy,mm,dd,doy,/disp' return endif md = yyyy MOD 4 if md eq 0 then begin CASE 1 OF mm eq 1: doy=dd mm eq 2: doy=31+dd mm eq 3: doy=(31+29)+dd mm eq 4: doy=(60+31)+dd mm eq 5: doy=(91+30)+dd mm eq 6: doy=(121+31)+dd mm eq 7: doy=(152+30)+dd mm eq 8: doy=(182+31)+dd mm eq 9: doy=(213+31)+dd mm eq 10: doy=(244+30)+dd mm eq 11: doy=(274+31)+dd else: doy=(305+30)+dd ENDCASE endif else begin CASE 1 OF mm eq 1: doy=dd mm eq 2: doy=31+dd mm eq 3: doy=(31+28)+dd mm eq 4: doy=(59+31)+dd mm eq 5: doy=(90+30)+dd mm eq 6: doy=(120+31)+dd mm eq 7: doy=(151+30)+dd mm eq 8: doy=(181+31)+dd mm eq 9: doy=(212+31)+dd mm eq 10: doy=(243+30)+dd mm eq 11: doy=(273+31)+dd else: doy=(304+30)+dd ENDCASE endelse if keyword_set(disp) then print,'doy = ',doy,' for ',yyyy,mm,dd end