  The Asteroid Terrestrial-impact Last Alert System (ATLAS) observes the
visible sky every night in search of dangerous asteroids. With four soon five)
sites ATLAS is facing new challenges for scheduling observations and linking
detections to identify moving asteroids. Flexibility in coping with diverse
observation sites and times of detections that can be linked is critical, as is
optimization of observing time for coverage versus depth.
  We present new algorithms to fit orbits rapidly to sky-plane observations,
and to test and link sets of detections to find the ones which belong to moving
objects. The PUMA algorithm for fitting orbits to angular positions on the sky
executes in about a millisecond, orders of magnitude faster than the methods
currently in use by the community, without sacrifice in accuracy.
  The PUMALINK algorithm to find linkages among sets of detections has
similarities to other approaches, notably HelioLinC, but it functions well at
asteroid ranges of a small fraction of an AU. Candidate linkages are checked by
the PUMA library to test that the detections correspond to a real orbit, even
at close range, and the false alarm rate is manageable.
  We present the results of tests of PUMALINK on three datasets which
illustrate PUMALINK's effectiveness and economy: 2 weeks of all ATLAS
detections over the sky, 2 weeks of special ATLAS opposition observations with
long exposure time, and 2 weeks of simulated LSST asteroid observations.
Testing only pairs of nights PUMALINK achieves approximately 90% detection
probability for real objects while keeping the false alarm rate below 10%. Both
numbers improve greatly when PUMALINK is given a third night.
