[PIPE2D-339] Model arc line amplitudes Created: 07/Feb/19 Updated: 29/Jan/22 Resolved: 18/Mar/21 |
|
| Status: | Done |
| Project: | DRP 2-D Pipeline |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.0 |
| Type: | Task | Priority: | Normal |
| Reporter: | hassan | Assignee: | naoki.yasuda |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||
| Story Points: | 5 | ||||||||||||||||||||||||||||||||||||
| Sprint: | 2DDRP-2019 C, 2DDRP-2019 D, 2DDRP-2019 E, 2DDRP-2019 F, 2DDRP-2019 G, 2DDRP-2019 H, 2DDRP-2019 I, 2DDRP-2019 J, 2DDRP-2019 K, 2DDRP-2020 A, 2DDRP-2021 A | ||||||||||||||||||||||||||||||||||||
| Description |
|
Create model spectra by combining LAM arc data for different elements. Then for each combined spectrum, perform a PCA or similar analysis of the line intensities. This analysis would be used in the future to estimate the intensities of lines from actual spectra taken at the summit. Line variability, for example that of the OH lines, can also then be estimated. See also email 'Re: Homework to IPMU for PFS 2D DRP development' from RHL on 2019-01-08 |
| Comments |
| Comment by naoki.yasuda [ 29/Mar/19 ] |
|
Where can I get various arc data taken at LAM? |
| Comment by hassan [ 29/Mar/19 ] |
|
You will in general need access to the Princeton cluster. We will try to arrange that for you. In the meantime, Keigo Nakamura does have access and should be able to provide you with some of that data. |
| Comment by naoki.yasuda [ 29/Mar/19 ] |
|
I used to have an access to the Princeton cluster as "naoki.yasuda" but it seems to be deactivated now. Anyway, I will contact Keigo. |
| Comment by naoki.yasuda [ 12/Apr/19 ] |
|
Recent arc data are taken with the same exposure times. Should I investigate the variability within these exposures? Or should I collect the data from different dates and compare them? |
| Comment by ncaplar [ 13/Apr/19 ] |
|
naoki.yasuda Just in case if you are looking for this information, the comments in this ticket: https://pfspipe.ipmu.jp/jira/browse/PIPE2D-359 has the exposure numbers of the arc observations that we did so far. Soon there will be more. Perhaps we should organize a system to track this better.... |
| Comment by hassan [ 17/Apr/19 ] |
|
naoki.yasuda: in the case of LAM data variability does not need to be estimated. I apologize for the confusion. What you can do is to estimate the line intensity for a) a sample of individual arc exposures and b) combine arc exposures corresponding to different lamps, and then demonstrate that line intensities can be estimated for each element. Once the method of estimated line intensities is demonstrated using arc data, then this method can be applied to 'real' spectra taken at the summit to measure line intensities, and the time-variability of the intensity of certain lines (such as the OH lines). |
| Comment by rhl [ 17/Apr/19 ] |
|
Hassan and I just chatted. I expect that the lines will vary as the lines warm up and the pressure changes, and probably the Ar to Hg ratio will change. So we can model the arc lines from LAM, looking for variability (e.g. higher PCA components of the line intensities vector). It's possible that the Ne lines will not change, but that means that we'll measure a variability that's consistent with zero — however, I fear that we'll find evidence that the line measurements aren't quite good enough. |
| Comment by naoki.yasuda [ 25/Apr/19 ] |
|
When I have run reduceArc.py for visit=15539 arm=r, I will get a lot of warnings like the following. pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=214) - (GaussCoeffs[XC]=211)| = 3 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=233) - (GaussCoeffs[XC]=236)| = 3 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=389) - (GaussCoeffs[XC]=392)| = 3 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=466) - (GaussCoeffs[XC]=469)| = 3 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=971) - (GaussCoeffs[XC]=972.536)| = 1.53619 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=997) - (GaussCoeffs[XC]=995.46)| = 1.5401 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=1007) - (GaussCoeffs[XC]=1004.86)| = 2.13757 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=1489) - (GaussCoeffs[XC]=1490.59)| = 1.59155 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=2033) - (GaussCoeffs[XC]=2034.66)| = 1.66064 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=2400) - (GaussCoeffs[XC]=2397.87)| = 2.12793 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=2423) - (GaussCoeffs[XC]=2420)| = 3 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=2461) - (GaussCoeffs[XC]=2458.3)| = 2.7002 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=2537) - (GaussCoeffs[XC]=2540)| = 3 >= 1.5 => Skipping line pfs.drp.stella.Spectrum.identify WARN: fiberId = 3 |(maxPos=2679) - (GaussCoeffs[XC]=2682)| = 3 >= 1.5 => Skipping line
|
| Comment by ncaplar [ 26/Apr/19 ] |
|
Hopefully this will be helpful for price, especially given he can easily access data on tigeress. This is done with pfs_pipe2d 5.0-10-gff9a74e and checkout of tickets/ I noticed the same problem with e.g. reduceArc.py /tigress/ncaplar/ReducedData/NeonApr_2019 --calib /tigress/ncaplar/ReducedData/NeonApr_2019/CALIB --rerun Apr25_2019/arc --id visit=16292..16297 arm=r -j 20 -c reduceExposure.isr.doFlat=False The first of the pfsArm files will have 0 bytes, e.g., see /tigress/ncaplar/ReducedData/NeonFeb_2019/rerun/Apr23_2019/arc/pfsArm/2019-02-16/v0012355. But the others (e.g., /tigress/ncaplar/ReducedData/NeonFeb_2019/rerun/Apr23_2019/arc/pfsArm/2019-02-16/v0012356) are 2 mb. |
| Comment by ncaplar [ 26/Apr/19 ] |
|
Same when running reduceArc.py /tigress/ncaplar/ReducedData/KrFeb_2019 --calib /tigress/ncaplar/ReducedData/KrFeb_2019/CALIB --rerun Apr25_2019/arc --id visit=13051..13056 -j 20. This creates empty /tigress/ncaplar/ReducedData/KrFeb_2019/rerun/Apr25_2019/arc/pfsArm/2019-02-27/v0013051, while others seem to be full. |
| Comment by naoki.yasuda [ 26/Apr/19 ] |
|
The following is the complete list of commands to reproduce the problem of 0 byte pfsArm file
export REPO_DIR=/gpfs02/work/yasuda/PFS/repo
echo "lsst.obs.pfs.PfsMapper" > $REPO_DIR/_mapper
ingestPfsImages.py $REPO_DIR /gpfs01/pfs/rawdata/2019-04-04/PFLA*.fits -c parse.pfsDesignId=0x0000010001001010
ingestPfsImages.py $REPO_DIR /gpfs01/pfs/rawdata/2019-04-05/PFLA*.fits -c parse.pfsDesignId=0x0000010001001010
ingestCalibs.py $REPO_DIR --calib $REPO_DIR/CALIB $OBS_PFS_DIR/pfs/camera/detectorMap-sim-1-r.fits --mode=copy --validity 1000
constructBias.py $REPO_DIR --calib $REPO_DIR/CALIB --rerun calib/bias --id visit=15390..15396:2^15397^15399^15402^15403^15406..15410:2^15411^15414^15415^15417 arm=r --batch-type=smp --cores=1
ingestCalibs.py $REPO_DIR --calib $REPO_DIR/CALIB $REPO_DIR/rerun/calib/bias/BIAS/*.fits --validity 1000
constructDark.py $REPO_DIR --calib $REPO_DIR/CALIB --rerun calib/dark --id visit=15419^15421^15424..15428:2^15429..15435:2^15438^15440^15441^15443^15446^15447 arm=r --batch-type=smp --cores=1
ingestCalibs.py $REPO_DIR --calib $REPO_DIR/CALIB $REPO_DIR/rerun/calib/dark/DARK/*.fits --validity 1000
constructFiberFlat.py $REPO_DIR --calib $REPO_DIR/CALIB --rerun calib/flat --id visit=15529..15538 arm=r --batch-type=smp --cores=1
ingestCalibs.py $REPO_DIR --calib $REPO_DIR/CALIB $REPO_DIR/rerun/calib/flat/FLAT/*.fits --validity 1000
constructFiberTrace.py $REPO_DIR --calib $REPO_DIR/CALIB --rerun calib/fiberTrace --id visit=15529..15538 arm=r slitOffset=0.0 --batch-type=smp --cores=1
ingestCalibs.py $REPO_DIR --calib $REPO_DIR/CALIB $REPO_DIR/rerun/calib/fiberTrace/FIBERTRACE/*.fits --validity 1000
reduceArc.py $REPO_DIR --calib $REPO_DIR/CALIB --rerun calib/arc --id visit=15539 arm=r
|
| Comment by price [ 27/Apr/19 ] |
|
Thanks. I was able to reproduce the problem, tracked it down and fixed it on |
| Comment by naoki.yasuda [ 27/Apr/19 ] |
|
I confirmed the psfArm file will be created. But the results does not look like promising.
This figure is made by pfs.datamodel.drp.PfsArm.plot(). reduceArc.py $REPO_DIR --calib $REPO_DIR/CALIB --rerun calib/arc --id visit=15749 arm=r -c reduceExposure.isr.doWrite=True The output of the command says wavelength calibration is going well. reduceArc.calibrateWavelengths INFO: FiberId 650, rms 0.013309 nm (0.156 pix) from 149 (0.102334 nm = 1.200 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 650: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 588, rms 0.014110 nm (0.165 pix) from 142 (0.040758 nm = 0.477 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 588: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 526, rms 0.014441 nm (0.168 pix) from 153 (0.099881 nm = 1.165 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 526: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 465, rms 0.014325 nm (0.167 pix) from 146 (0.069775 nm = 0.815 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 465: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 402, rms 0.014927 nm (0.174 pix) from 150 (0.113282 nm = 1.324 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 402: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 340, rms 0.012951 nm (0.151 pix) from 158 (0.038495 nm = 0.450 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 340: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 256, rms 0.013654 nm (0.160 pix) from 158 (0.043300 nm = 0.506 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 256: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 193, rms 0.013723 nm (0.160 pix) from 144 (0.090711 nm = 1.059 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 193: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 64, rms 0.013223 nm (0.155 pix) from 148 (0.103616 nm = 1.211 pix for 4 reserved points) reduceArc.calibrateWavelengths INFO: Fiber 64: wavelength correction 0.000000 +/- 0.000000 nm reduceArc.calibrateWavelengths INFO: FiberId 3, rms 0.013612 nm (0.160 pix) from 140 (0.113453 nm = 1.331 pix for 4 reserved points)
I have updated flat using dithered flat data (visit=13882..14010). Previously I was using exposed flat data. In addition I have updated fiberTrace using one visit. Previously I was using 10 visits and this results in bad looking trace. |
| Comment by naoki.yasuda [ 28/Apr/19 ] |
|
I have updated detectormap with the one created by reduceArc.py and rerun reduceArc.py to create pfsArm. This is better than the previous one using the default detectormap ($OBS_PFS_DIR/pfs/camera/detectorMap-sim-1-r.fits) but I'm not sure this is good enough. It seems one fiber is offset by 2nm.
|
| Comment by price [ 30/Apr/19 ] |
|
naoki.yasuda: Please use the new detectorMaps in branch tickets/ |
| Comment by naoki.yasuda [ 30/Apr/19 ] |
|
I have updated detectorMap but the overall accuracy seems not improved so much.
The double peaked profile may be come from mismatched fibertrace. So I have tried to make a fibertrace from visit=14000 which have reasonable overlap with visit=15749 which I'm now working on. But for visit=14000 only a half of fibers will be identified (left hand side). |
| Comment by naoki.yasuda [ 18/Nov/19 ] |
|
How can I access the line lists of each elements from the pipeline? |
| Comment by price [ 19/Nov/19 ] |
|
Here's an example: https://github.com/Subaru-PFS/drp_stella/blob/master/python/pfs/drp/stella/reduceArcTask.py#L159-L163 |
| Comment by naoki.yasuda [ 25/Nov/19 ] |
|
I have done very preliminary PCA analysis for 18 Xe arc exposures. I'm still not sure this is a required analysis for this ticket. |
| Comment by naoki.yasuda [ 09/Dec/19 ] |
|
I have checked the dependency of each PC components on fiberId and visit number using the same dataset (Xe, 18 visits) as in the previous comment. The variation of PC components depend more on fiberId. |
| Comment by hassan [ 18/Mar/21 ] |
|
I think this specific ticket has gone as far as it can, and newer tickets will be filed to address the outstanding work. |