[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:
|
| 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`. |
| 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.
|