Source code for pyacs.lib.astrotime.cal2dayno

"""
Return the day of year (doy).
"""

[docs] def cal2dayno (day, month, year): """ Return the day of year (doy). Parameters ---------- day : int or array-like Day of month. month : int or array-like Month (1-12). year : int or array-like Year. Returns ------- int or ndarray Day of year. Examples -------- >>> import pyacs >>> pyacs.cal2dayno(1,1,2000) >>> 1 >>> pyacs.cal2dayno(29,2,2000) >>> 60 >>> pyacs.cal2dayno(29.,2,2000) >>> 60. >>> pyacs.cal2dayno(29,2,2001) >>> !!! 29 out of range >>> !!! bad day """ from ._common import __monthOK, __dayOK, days from .leap_year import leap_year import numpy as np if isinstance(day, list): day=np.array(day) month=np.array(month) year=np.array(year) if isinstance(day, np.ndarray): dayno=np.array(list(map(cal2dayno,day, month, year))) else: # check arguments and raise an Error if not OK __monthOK(month) __dayOK(day, month, year) month=month-1 # For array indexing if (leap_year(year)):days[1] = 29 else:days[1] = 28 dayno = day mon=0 while mon<month: dayno = dayno + days[mon] mon=mon+1 return( np.array(dayno, dtype=int)+0 )