[FIBERALLOC-34] Design a mechanism to store the output from shuffle in opDB Created: 01/Oct/20  Updated: 04/Oct/21  Resolved: 04/Oct/21

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

Type: Task Priority: Normal
Reporter: Kiyoto Yabe Assignee: Kiyoto Yabe
Resolution: Done Votes: 0
Labels: opDB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently opDB has no table for the output from `ets_shuffle`, so come up with a mechanism in opDB to store the information of the selected guide/acquisition stars in each camera.

Currently, the output of the shuffle processing is like this but we may have more information:
Identified target IDs for each camera: AG camera #0 [2493596405047282176 2493597813796555648] AG camera #1 [2492943913615230592 2492943913615227776 2492991020816540672] AG camera #2 [2492877221363219712] AG camera #3 [2493142272384857344 2493142448479083136 2493142169305639680 2493142585918005120] AG camera #4 [2494051431062162944 2494051057400740608 2494047999384032512 2494050988681269248 2494051362342685056 2494050984385562752] AG camera #5 [2493685637288060288 2493685469784142336 2493685469784142592
2493690177068271488 2493690172773592832]
 



 Comments   
Comment by Kiyoto Yabe [ 19/Oct/20 ]

I'm still thinking about two possibilities regarding where we store the output from `shuffle`, and it's a bit difficult to explain in this comment, but...

 

option 1. we make `pfs_design_agc` for (guide and acquisition) objects in AG camera like `pfs_design_fiber` for science objects in fibers.

----------------------

pfs_design_agc

----------------------

pfs_design_id (FK; not null)  ---> referring to `pfs_design`

agc_camera_id (not null)

guide_star_id (not null)  ---> Gaia ID?

agc_target_x_mm

agc_target_y_mm

...

----------------------

In this design, I'm assuming both `ets_shuffle` and `ets_fiberalloc` run integrally and save all information to `pfs_design`, `pfs_design_agc` & `pfs_design_fiber` in the end of the process.

 

 option 2. we make `shuffle` and `shuffle_agc`

----------------------

tile

----------------------

tile_id (serial not null; auto-incremented)

program_id (FK)

ra_center_initial

dec_center_initial

pa_initial

...

----------------------

 

----------------------

shuffle

----------------------

shuffle_id (serial not null; auto-incremented)

tile_id (FK)  ---> referring to `tile`

ra_center_designed_shuffle

dec_center_designed_shuffle

pa_designed_shuffle

...

----------------------

 

----------------------

shuffle_agc

----------------------

shuffle_id (FK; not null)  ---> referring to `shuffle`

agc_camera_id (not null)

guide_star_id (not null)  ---> Gaia ID?

agc_target_x_mm

agc_target_y_mm

...

 ----------------------

 

----------------------

pfs_design

----------------------

pfs_design_id (not null)

shuffle_id (FK; not null)  ---> referring `shuffle`

ra_center_designed

dec_center_designed

...

----------------------

 

In this design, we need to run `ets_shuffle` first and decide the pointing center and save info to the database, and then we run `ets_fiberalloc` based on the decided pointing center. I do not think about how to deal with multiple visits using netflow mechanism yet.

 

 

Comment by Martin Reinecke [ 30/Nov/20 ]

I think the current agreement is that "shuffle" will not actually do any shuffling; it will simply output suitable acquisition/guide star candidates for the provided telescope pointing and orientation. If this is correct, then your option 1 feels more natural to me.

One open question from my side: are "agc_target_[xy]_mm" given in PFI coordinates or in a coordinate system specific to every AG camera? If the latter, I'd need a way to transform from PFI to these coordinates (I don't think this is integrated in pfs_utils yet).

 

Comment by Kiyoto Yabe [ 08/Dec/20 ]

Thank you for your comments. I'll push option 1 forward taking into consideration other discussion points. For the open question, I think we should coordinate with the AG camera table (e.g., `agc_data`). I guess currently they are coordinates on AG image in pix, so agc_target_[xy]_pix would be probably what we need.

Comment by Kiyoto Yabe [ 05/Aug/21 ]

I found this was still floating, but now it's a time to fix.

Here is a new proposal based on the current datamodel GUIDESTARS HDU in pfsDesign file.

Yoshida, Hiroshige?

----------------------

pfs_design_agc

----------------------

pfs_design_id (FK; not null)  ---> referring to `pfs_design`

guide_star_id (not null)  ---> joinable with GaiaDB

epoch

guide_star_ra

guide_star_dec

guide_star_pm_ra

guide_star_pm_dec

guide_star_parallax

guide_star_magnitude

passband

guide_star_color

agc_camera_id

agc_target_x_pix

agc_target_y_pix

comments

----------------------

Comment by Kiyoto Yabe [ 09/Sep/21 ]

I'll implement the design above for now and close this ticket. We file a new ticket if we need a further fix.

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