desihub / redrock

Redshift fitting for spectroperfectionism
BSD 3-Clause "New" or "Revised" License
22 stars 14 forks source link

Add units to Redrock fibermap output #292

Closed geordie666 closed 5 months ago

geordie666 commented 5 months ago

This PR uses desispec.io.fibermap.annotate_fibermap() to add units to Redrock fibermap output. It should fix #284.

Example output files before and after adding units are at:

/pscratch/sd/a/adamyers/foo.fits (before) /pscratch/sd/a/adamyers/blat.fits (after)

These are created via, e.g. rrdesi -i /global/cfs/cdirs/desi/spectro/redux/daily/tiles/cumulative/3351/20230905/coadd-0-3351-thru20230905.fits --outfile $SCRATCH/blat.fits --ntargets 5.

An example test that the units were added:

import fitsio
import numpy as np
newhdr = fitsio.read_header("/pscratch/sd/a/adamyers/blat.fits", "FIBERMAP")
oldhdr = fitsio.read_header("/pscratch/sd/a/adamyers/foo.fits", "FIBERMAP")
print(np.any(["UNIT" in col for col in oldhdr]))
print(np.any(["UNIT" in col for col in newhdr]))
False
True

Units are skipped for 5 columns that are not covered by desispec.io.fibermap.annotate_fibermap():

MEAN_MJD
MIN_MJD
MAX_MJD
FIRSTNIGHT
LASTNIGHT

I'll open an issue and start a PR to add those columns over in desispec.

coveralls commented 5 months ago

Coverage Status

coverage: 38.522% (-0.04%) from 38.564% when pulling 0c8ed3870bab593f2cafec9881062f4ade901474 on ADM-add-units into 320f7855bf3a7f1ac47498a8d6bf48500ab77739 on main.