7 Low Priority

Howard Lisle had spent the morning losing core-hours to the heliophysics people, and he wasn’t done losing them.

The allocation sheet for the NCCS cluster was on one monitor and the meeting on the other, where a branch chief from Building 21 was explaining for the third time why the solar wind models could not run on less. Rain came off the parking lot and hit the windows of Building 34 sideways. Lisle had asked for 1,200,000 hours for next year so he’d get 900,000, and the cell had just gone to 780,000 with nobody’s initials on the change.

He muted himself and went to the queue for something he could actually close before the break.

The ticket was near the top, already routed to his team. Reprocess NEO Surveyor opportunistic-target frames around target 2028-0417 for faint co-moving sources. Priority: low. Contact: D. Okafor, JPL/CNEOS. Somebody had attached the visit list, eight months of it, four a day whenever the survey pattern let the spacecraft swing over.

Surveyor’s archive lived at IPAC in Pasadena, but the cutout pipeline for the opportunistic targets lived here. It was a postdoc job, and a good one: a known answer of probably nothing, and a method you could learn the whole cutout pipeline on. He had a postdoc who had started on the fourth and so far been issued a badge, a laptop, and the export-control training module.

He opened the record because he liked to know who to thank. Created 03:40 that morning by svc-nsv-opsched2. The staff directory had nobody by that name. The service-account registry had an owner field for every account in the building, and this one was blank. At 03:40, the login history said, nobody in the group had been on.

He had asked about it once, the summer before launch, and been told it was resolved. Some scheduler, then, that Surveyor operations had wired into the science queues without telling the science groups, which was how Surveyor operations did most things. He was grateful to them anyway. It came with a contact and a frame list, and it was December.

He assigned it to Priya Raman, typed good one to learn the cutouts on — HL, and unmuted in time to hear 780,000 become 740,000.


The week before Christmas, half the offices on Priya’s corridor had a coat on the hook and the light off, and she had all 731 visits on local disk.

She read the ticket four times. It had her name on it now, under Assignee, and nobody else’s. Target 2028-0417 was an unpublished co-orbital near L5 that Surveyor had been looking at since April; that was all the ticket said and all she looked up. Faint co-moving sources meant satellites, or debris, or nothing, and the pipeline she’d been handed assumed nothing.

She ran the first pass the plain way: difference each visit against a static-sky template and keep everything above 2.5 sigma that wasn’t a catalog star or a known asteroid. Leftovers were supposed to be noise. Noise didn’t know where the target was.

She binned them by distance from the target and plotted the counts per square degree. Flat from the edge of the cutout in to about a degree. Then rising. In the innermost bin outside her half-arcminute mask, 3.8 times the floor.

She checked the mask. She checked the template epochs, because a template built while the target sat in the field could leave a halo of its own. She rebuilt the templates from visits a week apart and the bump got slightly bigger. Then she put a fake target position a degree off in a random direction, ten times, ten directions, and binned around each of those. Ten flat lines. The eleventh, around the real position, still climbed.

She split the leftovers by band. NC2 alone: a small rise, 1.6 times the floor, inside the error bars of nothing. NC1 alone: 4.4.

She wrote it on the ticket as a comment, three numbers and a plot, and nobody replied, because the people who might have were in Florida or Ohio or asleep.

Her mother texted from Edison to ask whether she was driving up on the 23rd or the 24th, and whether she was bringing the laptop, because if she was bringing the laptop she should just say so.

24th. Yes.

She drove up the Turnpike on the 24th with the laptop on the passenger seat and the shift-and-stack grid half written. At the kitchen table in Edison, between dinner and the dishes, her father leaned over her shoulder at a stack of 40 frames shifted along a guess and asked what he was looking at.

“Nothing yet,” she said. “That’s the point.”

He told her cousins it was satellites. She didn’t correct him; it might have been.


On the 27th she was back in Building 34 and the shift-and-stack jobs were running on the cluster.

Her thesis had been the same trick on DECam frames, hunting for things past Neptune too faint to see in any single exposure: guess a motion, shift every frame along it, add them up, and look for a point that only exists if the guess is right. Trans-Neptunian objects moved in straight lines over a night. These didn’t have to. She added an acceleration term to the grid, which multiplied it by forty-one, and spent part of the 27th apologizing to the queue scheduler in her head.

It took three days.

The first one came up on the morning of the 28th, in a stack along a track that curved: one pixel bright in NC1, 6.3 sigma, and nothing at all in the same frames shifted along the straight-line neighbor. She moved the guess one grid step off in each direction and watched it smear into the background four times. She moved it back and it was a point again. She looked for it in the individual frames and couldn’t find it in any of them, which was correct.

She did not write anything down until she had found it again in a second, independent set of visits from the same week, at the position the fit predicted, to within a pixel.

When the grid finished on the 29th she had nineteen.

She went down the columns before she looked at the list as a list.

T_fit: 560 to 640 K, all nineteen. They were brighter in NC1 than NC2, which nothing in sunlight at 1 au should be, and the only reason they showed at all.

D_therm: 10 to 20 m.

sep_first: 0.6 to 52 arcminutes from the target at first detection.

dir: eleven out, eight in.

a_fit: the outbound ones, 2 to 4 mm/s², the arcs bending away from 1 au toward the belt, speed still building at the last frame. The inbound ones had the same magnitudes with the sign the other way, slowing as they closed.

t_first: nothing before 4 September. She had frames back to April at the same depth. She looked twice.

She didn’t trust a column she hadn’t tried to break, so she broke it. She injected 400 fake movers into the real frames, drawn from the same temperatures, sizes and accelerations, at random positions inside a degree, and ran the whole pipeline blind on them. It found 51. She seeded it again and got 49.

recovery: 0.13 ± 0.02.

Then she tried to make them natural. Ice jetting off a fragment would have shown in the visible, and there was nothing in the visible. Sunlight on a fifteen-meter plate of iron gave about 10⁻⁷ of what the arcs needed. Debris didn’t speed up in a straight line for nine days and keep going. She wrote the three on the pad and crossed out each one, and looked for a while at what was left, which was a word she wasn’t going to put on a NASA sheet.

She didn’t put a total anywhere on the sheet. Nineteen at one in eight was about 150, but 150 wasn’t a detection, and her sheet held detections.


On Wednesday, 24 January, with January’s frames still coming down from L1 and a third injection run agreeing with the first two, she attached the sheet to an email to the contact on the ticket. Subject: the ticket number. Body: P.

Dana Okafor called the next afternoon at 4:10.

“Is this Priya Raman?”

“Yes.”

“Dana Okafor, at JPL. You sent me a spreadsheet.”

“The ticket. Your name’s the contact.”

A pause on the line.

“I didn’t file it,” Okafor said. “Glen must have.”

Priya didn’t know a Glen. She didn’t ask.

“Your recovery fraction,” Okafor said. “Is that combined, or NC1 alone?”

“Combined. NC1 alone it’s one in eleven.”

“And the accelerations. Constant along the arc?”

“Within errors. The longest arc is nine days.”

“Did you fit a turn-off? Anything where the acceleration stops?”

“No. I can.”

“Don’t change anything yet.” Then: “Nothing before September.”

“I went back to April. Same depth.”

Okafor said nothing for long enough that Priya checked the call. When she spoke again her voice was lower.

“You’ve looked for a natural way to get that.”

“Three ways. None of them comes within a factor of a thousand.”

“Then don’t call them anything yet,” Okafor said. “Call them what your sheet calls them.”

“Who else has seen this?”

“Howard Lisle. My group lead. He saw the ticket close.”

“Could you reopen it?”

“It’s closed as complete. I can open a follow-up.”

“On the same number, if you can. January’s coming down,” Okafor said. “You said so in the header.”

Priya looked at the header of her own sheet. She had written Jan pending in the cell above t_first, in gray, and had not thought anyone would read the gray.

“There’ll be more,” she said.

“How close is the closest at first detection?”

“Half an arcminute. That’s my mask. Inside that the target’s wings eat everything.”

“So you don’t know how close they start.”

“No.”

Okafor asked about the template epochs, and about whether any two movers shared a track, and about the temperature fits, whether she had let emissivity float. Priya answered all of it. Okafor answered nothing, because Priya didn’t ask her anything, and at the end she said, “Thank you, Priya. That’s careful work,” and hung up.

Priya opened a follow-up on the same number. Then she wrote two lines on the pad by her keyboard:

Glen?

She wanted it. She didn’t ask for it.


On Thursday, 1 February, she sent the new version.

January had come down through the 22nd before the latency caught up with it. She ran the same grid, the same masks, the same injection test with a fresh seed, and recovery held at 0.13. Seven new movers in twenty-two days of frames. Twenty-six on the sheet now.

She had added a column, Δ, the month-on-month change in the count.

monthΔNper_​dayoutin
2028-09+220.0720
2028-10+460.1331
2028-11+5110.1732
2028-12+8190.2635
2029-01*+7260.3234
* through 22 Jan

She sent it at noon, subject the ticket number, body P., and went back to the arcs.

There was a tab she hadn’t sent. She had fit the turn-off Okafor asked about, a constant acceleration that switched to zero at a free time, on every outbound arc. Fourteen fits, and for none of them did the switch land inside her frames; the best-fit time was always after the mover left the field, with the error bar running off the end of the data. The inbound ones were the same in reverse. They were already braking when she first saw them, and the start of the braking was always before that, out of view.

Okafor hadn’t called. The phone on the desk had rung once, at 2:15, and it was someone from facilities about the badge readers.

Per mover she could get the momentum from size and speed, if she assumed iron. Turning that into a kick on the target needed the target’s mass, which nobody had published, and its orbit month by month to a millimeter per second, which she had never seen and which one office in Pasadena might have.

At 5:40 she sent one more sheet. Same twenty-six rows, same columns, and one new column on the right, in the same bold as the others: parent ΔV. Twenty-six cells under it, none of them filled.