desihub / desitarget

DESI Targeting
BSD 3-Clause "New" or "Revised" License
18 stars 23 forks source link

Subsampling BACKUP giants #772

Closed segasai closed 2 years ago

segasai commented 2 years ago

This is first version of the patch that splits BACKUP giant category into low and high priority with high priority objects being downsampled as a function of galactic latitude.

coveralls commented 2 years ago

Coverage Status

Coverage increased (+0.05%) to 57.35% when pulling 8ce57fc2c08924ce76f5b8598f14a77254195af5 on backup_subsampling_giants into f7aef60cbc4e7a69d239e34b5960c7ad9bdfd517 on master.

apcooper commented 2 years ago

Thanks @segasai, this looks OK to me.

@geordie666, @araichoor: before we sign off on this it would be good to have targets generated for a couple of small test areas and run through fiberassign for us to check. Please can you help with that?

geordie666 commented 2 years ago

@segasai: I started to generate targets from this branch this morning. Should I start again given your recent commit? It's no trouble, it just takes an hour or two to process everything, so good to know if I can retain the existing files.

segasai commented 2 years ago

Thanks @geordie666 for starting the test. TBH I don't expect that the new change will have any effect (even in high density regions), so I think the current run should be good enough (no need to restart from scratch).

geordie666 commented 2 years ago

I've run most of the BACKUP targets using this branch. About 75% of the relevant files have completed:

/global/cscratch1/sd/adamyers/gaiadr2/1.3.0.dev5218/targets/main/resolve/backup/

I'm finding it hard to get Cori nodes at the moment, and I need to switch over to focusing on other coding for a while. But, I'll run the other 25% this evening. It's likely that there's already plenty of contiguous area for testing in the ~75% processed so far.

segasai commented 2 years ago

Thanks @geordie666 I think it looks sensible. I.e. at least giant density per file is indeed now significantly lower than the BACKUP_ BRIGHT (here density vs galactic latitude) image

geordie666 commented 2 years ago

Thanks @segasai. I'm running the other ~25% of the targets now in case @apcooper would like @araichoor to pick some regions to run fiberassign checks. Should be ready in an hour or two. I'll report back when all of the files have completed.

geordie666 commented 2 years ago

OK, all of the files have now finished processing. They're in:

/global/cscratch1/sd/adamyers/gaiadr2/1.3.0.dev5218/targets/main/resolve/backup/
apcooper commented 2 years ago

Before we close this I think there are two lingering questions around whether we (a) fill the high latitude fibers with yet fainter targets and (b) spread out the priority values to allow room to interpolate other classes in future.

However we can still go ahead and do some tests in high latitude fields to check the backup giant sampling. I think the files Adam has made are ok for this.

@araichoor please can you run fiberassign on a handful of fields at b=40,60,80 deg? @segasai might have more specific suggestions about how much/which area is needed to be satisfied things are OK.

geordie666 commented 2 years ago

As a general reminder, if we did suddenly decide to merge this PR we'd want to, at the least:

araichoor commented 2 years ago

hi, sure, I ll run today fiberassign with /global/cscratch1/sd/adamyers/gaiadr2/1.3.0.dev5218/targets/main/resolve/backup/. to ease comparison, I ll keep the same code as the one used for the run I did 2-3 weeks ago.

one remark, though: note that in the meantime, @segasai has provide some Gaia-based, look-up sky positions for stuck positioners: using those enables additional science fibers outside the ls-dr9 footprint (as some stuck fibers will be used for skies); i.e. what I ll run should be a conservative case.

araichoor commented 2 years ago

fiberassign run for abs(galactic_b)>7 tiles here: https://data.desi.lbl.gov/desi/users/raichoor/fiberassign-backup-20211115/ see the email I just sent for few details.

apcooper commented 2 years ago

Here is a table of old and new counts from Anand's files, split by unique combinations of target bits. Rows marked with a * are noteworthy.

      OLD           NEW
6,926,023     6,924,503     BACKUP_BRIGHT
1,855,947     1,845,518     BACKUP_FAINT
  541,464       792,516 *   BACKUP_VERY_FAINT

  177,255        41,735 *   BACKUP_GIANT,GAIA_STD_FAINT,GAIA_STD_BRIGHT
    7,925           589     BACKUP_GIANT,GAIA_STD_FAINT
        3       xxxxxxx     BACKUP_GIANT,GAIA_STD_WD

  xxxxxxx        80,600     BACKUP_GIANT_LOP,GAIA_STD_FAINT,GAIA_STD_BRIGHT
  xxxxxxx         5,947     BACKUP_GIANT_LOP,GAIA_STD_FAINT
  xxxxxxx             2     BACKUP_GIANT_LOP,GAIA_STD_WD

      483           482     BACKUP_BRIGHT,GAIA_STD_WD

  339,901       351,002     BACKUP_FAINT,GAIA_STD_FAINT,GAIA_STD_BRIGHT
    1,976         1,970     BACKUP_FAINT,GAIA_STD_WD

    1,963       199,538 *   BACKUP_VERY_FAINT,GAIA_STD_FAINT
    2,405         2,137     GAIA_STD_WD,BACKUP_VERY_FAINT
  xxxxxxx            21     BACKUP_VERY_FAINT,GAIA_STD_FAINT,GAIA_STD_WD

  157,291        13,509 *   GAIA_STD_FAINT
    6,485         4,875     GAIA_STD_WD
       20       xxxxxxx     GAIA_STD_FAINT,GAIA_STD_WD
   10,503         6,132     GAIA_STD_FAINT,GAIA_STD_BRIGHT
apcooper commented 2 years ago

Fraction of available fibers assigned: BACKUP_BRIGHT 38.4% BACKUP_FAINT 14.9% BACKUP_VERY_FAINT 5.2% BACKUP_GIANT 9.7% BACKUP_GIANT_LOP 0.9%

10% for BACKUP_GIANT looks odd.

apcooper commented 2 years ago

One more thing, the overall number of giants (low + high priority) is slightly lower in the new runs!

araichoor commented 2 years ago

as said by email, I made a mistake in the previous runs, with not using the desitarget code branch version, hence any class not appearing in the master targetmask.yaml would have PRIORITY=0; that is what happened for the BACKUP_GIANT. apologies.

I ve made a new run here: https://data.desi.lbl.gov/desi/users/raichoor/fiberassign-backup-20211117/ it now makes more sense, with the BACKUP_GIANT having an assignment rate of 92%, and BACKUP_GIANT_LOP of 5%:

assignment rate per-class:

# NAVAIL NASSIGN FRACASSIGN MASKNAME
13110342    763592  0.06    GAIA_STD_FAINT
122874      5029    0.04    GAIA_STD_WD
7283025     649604  0.09    GAIA_STD_BRIGHT
15697801    772814  0.05    BACKUP_GIANT_LOP
619179      567275  0.92    BACKUP_GIANT
9881070     3722055 0.38    BACKUP_BRIGHT
8609473     768518  0.09    BACKUP_FAINT
11051761    408046  0.04    BACKUP_VERY_FAINT

assignment rate per existing class combination:

# NAVAIL NASSIGN FRACASSIGN MASKNAME
2689543     86  0.00    GAIA_STD_FAINT
108411      3003    0.03    GAIA_STD_WD
1040386     35  0.00    GAIA_STD_FAINT,GAIA_STD_BRIGHT
10544684    443684  0.04    BACKUP_GIANT_LOP
892206      17779   0.02    GAIA_STD_FAINT,BACKUP_GIANT_LOP
31      6   0.19    GAIA_STD_WD,BACKUP_GIANT_LOP
4260880     311345  0.07    GAIA_STD_FAINT,GAIA_STD_BRIGHT,BACKUP_GIANT_LOP
360902      329696  0.91    BACKUP_GIANT
12293       11418   0.93    GAIA_STD_FAINT,BACKUP_GIANT
2       2   1.00    GAIA_STD_WD,BACKUP_GIANT
245982      226159  0.92    GAIA_STD_FAINT,GAIA_STD_BRIGHT,BACKUP_GIANT
9880637     3721814 0.38    BACKUP_BRIGHT
433     241 0.56    GAIA_STD_WD,BACKUP_BRIGHT
6869444     655651  0.10    BACKUP_FAINT
4252        802 0.19    GAIA_STD_WD,BACKUP_FAINT
1735777     112065  0.06    GAIA_STD_FAINT,GAIA_STD_BRIGHT,BACKUP_FAINT
8808807     322378  0.04    BACKUP_VERY_FAINT
2233209     84693   0.04    GAIA_STD_FAINT,BACKUP_VERY_FAINT
9679        963 0.10    GAIA_STD_WD,BACKUP_VERY_FAINT
66      12  0.18    GAIA_STD_FAINT,GAIA_STD_WD,BACKUP_VERY_FAINT
araichoor commented 2 years ago

note that the numbers I provided above are for the ngc-only; assigned fractions for ngc+sgc are fairly similar (i.e. can change by few percents).

apcooper commented 2 years ago

Thanks @araichoor, looks good now. I've updated the wiki, but if it needs a detailed description of the function that downsamples the high priority giants, that will have to come from @segasai.

segasai commented 2 years ago

Thanks @apcooper . I've added the subsampling description to the wiki