PRO usno_read, ast
    @compile_opt.pro        ; On error, return to caller
    common USNO_INFO, USNO_PNTR

iU = (*(USNO_PNTR[ast])).iU

curjd = double(0)
tmp1 = fix(0)
tmp2 = fix(0)

readu, iU, curjd,tmp1,tmp2

(*(USNO_PNTR[ast])).curjd    = curjd
(*(USNO_PNTR[ast])).curspan  = double(tmp1)
(*(USNO_PNTR[ast])).curorder = long(tmp2)

IF tmp2 LT 0 OR tmp2 GT 13 THEN BEGIN
    print, 'ast=',ast,' iu=',iu,' jd=',curjd,' span=',tmp1,' order=',tmp2
    message, 'tmp2 < 0 or tmp2 > 13 should not happen'
ENDIF

coef = dblarr(tmp2+1,3)
readu, iU, coef

; Pad to coeff[14,3] with zeroes

IF tmp2 LT 13 THEN  $
    coef = [ coef, dblarr(14-tmp2-1,3) ]

(*(USNO_PNTR[ast])).coef = coef

RETURN  &  END