function dr_carr,lat,arg,ang2tim=ang2tim,rad=rad,period=period

  if n_elements(lat) eq 0 then lat = 0.
  if n_elements(ang2tim) eq 0 then ang2tim = 0.
  if n_elements(rad) eq 0 then rad = 0.
  if n_elements(period) eq 0 then period = 0.

  latrad = lat/!radeg
  sid_sun =  2.865 - 0.351*(sin(latrad))^2 - 0.443*(sin(latrad))^4
  sid_earth = (2*!pi*1e6)/(365.25*86400.)
  omega = sid_sun - sid_earth
  if n_elements(arg) eq 0 then begin    ; Rotation rate at latitude LAT
                    ;   was requested
    if period ne 0 then return, 2e6*!pi/omega/86400 else $
    if rad eq 0 then return, omega/1e6*180/!pi*86000 else $
    return, omega
  endif

  if ang2tim eq 0 then begin
    out = omega*arg*.0864       ; Rotation angle in radians
    if rad eq 0 then out = out*!radeg   ; Convert to degrees if requested
  endif else begin
    out = arg/omega/.0864       ; Required rotation time in days
    if rad eq 0 then out = out/!radeg   ; Input was in actually in degrees
  endelse

  return, out
  end