Source code for PseudoNetCDF.noaafiles.arltime

__all__ = ['arl2time']


[docs] def arl2time(YY, MM, DD, HH, mm): """ Convert ARL time pieces to a datetime object Parameters ---------- YY : integer year (2 or 4 digits) MM : integer month (1-12) DD : integer day (1-31) HH : integer hour (0-23) mm : integer minute (0-59) Returns ------- d : datetime object from datetime.strptime """ from datetime import datetime strptime = datetime.strptime if YY < 100: yf = '%y' else: yf = '%Y' out = strptime('%02d-%02d-%02d %02d:%02d+0000' % (YY, MM, DD, HH, mm), yf + '-%m-%d %H:%M%z') return out
def arl2timea(year, month, day, hour, minute): """ Convert ARL time piece arrays to a datetime object array Parameters (all numpy array ---------- YY : array integer year (2 or 4 digits) MM : integer month (1-12) DD : integer day (1-31) HH : integer hour (0-23) mm : integer minute (0-59) Returns ------- d : array of datetime object from datetime.strptime """ import numpy as np from datetime import datetime datei = (year.astype('l') * 100000000 + month.astype('l') * 1000000 + day.astype('l') * 10000 + hour.astype('l') * 100 + minute.astype('l')) datestrs = np.char.decode(np.char.add(datei.astype('S16'), b'+0000')) dates = np.array([datetime.strptime(d, '%y%m%d%H%M%z') for d in datestrs]) return dates