function anytim2doy, tim_in, year=year, qstop=qstop, string=string ; ; daytim = anytim2ints(tim_in) timarr = anytim2ex(tim_in) year = timarr(6,*) ; ;;daytim_jan1 = anytim2ints('1-jan-' + strtrim( year, 2) ) ;;doy = daytim.day - daytim_jan1.day + 1 ; n = n_elements(year) doy = intarr(n) if (n eq 1) then uyear = year $ else uyear = year(uniq(year, sort(year))) for iyear=0,n_elements(uyear)-1 do begin ss = where(year eq uyear(iyear), nss) if (nss eq 1) then ss = ss(0) ;to avoid IDL bug giving the message ;"Expression must be a scalar in this context: <INT Array[1]>." day1 = anytim('1-Jan-'+strtrim(uyear(iyear),2),/int) doy(ss) = daytim(ss).day - day1.day + 1 end if (keyword_set(string)) then doy = fstring(year, format='(i2.2)') + fstring(doy, format='(i3.3)') return, doy end