[FIBERALLOC-47] Reserve fibers that will be assigned to sky and calib targets later Created: 23/Jun/23  Updated: 20/Oct/23  Resolved: 20/Oct/23

Status: Done
Project: Target to fiber allocation and configuration
Component/s: ets_fiberalloc
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: Martin Reinecke Assignee: Martin Reinecke
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It should be possible to reserve some fibers for later assignment to sky or calibration targets whn running the fiber allocator.

This should not be hard to implement in principle, I only have a technical question:

  • should we reserve a particular set of fibers (identified by their IDs), or
  • should we just reserve a specified number of fibers (without specifying their IDs)?


 Comments   
Comment by Martin Reinecke [ 23/Jun/23 ]

Case 1 (reserving fibers by their ID) is strictly spaking already implemented,since one of the inputs to the fiber assigner is a bench description. If the fibers that should be reserved are simply deleted from the input bench object, this should lead to the desired results.

Comment by Kiyoto Yabe [ 10/Jul/23 ]

We have started to talk with several persons of the science team. We will summarize a list of some issues and requests (including this) later.

Comment by rhl [ 10/Jul/23 ]

Can you add a few words about the motivation? This is something that the netflow handles automatically, guaranteeing the requested number of high-priority sky/calib fibres while allowing freedom to choose them from a large set.

Comment by Martin Reinecke [ 10/Jul/23 ]

Personally I don't know the motivation. I opened the issue because the feature was requested during the ICS/PFI+MCS telecon on Jun 23.

Comment by Kiyoto Yabe [ 11/Jul/23 ]

Andy reported that the netflow was really slow if a large number of scientific objects was optimized including calibration targets at the same time (for some reason). An option is that particular fibers are reserved for sky and fluxstds and removed from the full netflow problem. If you have a chance, please ask Andy for more (recent) update (he was not there in the meeting yesterday).

Comment by Martin Reinecke [ 21/Aug/23 ]

I have added a tentative implementation at https://github.com/Subaru-PFS/ets_fiberalloc/pull/18; please have a look!

Comment by Kiyoto Yabe [ 13/Oct/23 ]

Sorry for the delay, but I just started to look into this finally. I added comments regarding specific part in the code on GitHub.

I'm testing a real field for the Oct engineering run with codes to make pfsDesign on `ets_pointing` with modification for this ticket. Without this implementation, ~2300 fibers are assigned to SCIENCE targets (no calibration targets). After I set `numReservedFibers` to 1000 and `fiberNonAllocationCost`=1e+12, the number of fibers to SCIENCE targets decreases down to ~1600, which looks larger than expected. I thought that reserved fibers should be blank, but they look to be assigned as SKY targets, even if I set the number of calibration targets is 0. This may be a problem of scripts of `ets_pointing` but what do you suppose about the target class of the reserved fibers? 

And is it possible to officially implement for case 1? I like to reserved fibers proved by a list of specified fiberIds. Or it would be helpful to have an example to change bench information for this.

 

BTW, it seems to be true that calibration targets are assigned preferentially to blank fibers among science targets.

Comment by Martin Reinecke [ 13/Oct/23 ]

I hope that the strange results you are reporting are fixed by the latest commit on the branch. Please let me know whether it does improve things!

Concerning the implementation of case 1: this should probably happen outside the `netflow` package, by manipulating the `ics.cobraOps.Bench` object that is passed to `netflow`.
Alternatively I can add another argument to `buildProblem` which contains a list of Cobra IDs to be used. However this feels a bit like an unnecessary complication of the interface to me.

Comment by Kiyoto Yabe [ 18/Oct/23 ]

Thanks. I confirmed that that fix resolved the problem. Now it looks working as expected, so I think we can close this ticket (at least for this specific functionality). For another implementation, we should file a new one if necessary (I agree and I feel that it looks outside the netflow part). And I heard that you talked to Masahiro about the two-stage implementation. I'm still not sure whether that is somewhat related to the topics on this ticket or not. Anyway, we can discuss with the science team at some point, and file the implementation tickets later.

Comment by Martin Reinecke [ 20/Oct/23 ]

Thank you! I'll merge the branch and close the ticket then.

 

Generated at Sat Feb 10 16:53:21 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.