Keck-DataReductionPipelines / MosfireDRP

http://keck-datareductionpipelines.github.io/MosfireDRP
10 stars 13 forks source link

DRP stopped at wavelength calibration in interactive mode #142

Open syeh19 opened 4 years ago

syeh19 commented 4 years ago

I got past the interactive wavelength calibration with removing one point in the fit, then pressed q to quit. But the reduction did not proceed beyond wavelength calibration, I only got wave_stack_[band]_[range].fits, combflat_2d_[band].fits, and pixelflat_2d_[band].fits

When I turned off the interactive mode in wavelength calibration and DRP ran successfully. I got 1d and 2d fits files of every slit, background subtracted and rectified.

The errors are listed below. My data are J band MOS data, my DRP runs on Mac OS X 10.13.6.

qq2020-03-09 17:46:11,817 - Wavelength. fit_lambda_helper - INFO: S01] TOOK: 252 s multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, *kwds)) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(args)) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/site-packages/MOSFIRE-1.0.dev0-py3.6.egg/MOSFIRE/Wavelength.py", line 392, in fit_lambda_helper sol_1d = center_solutions[slitidx]["sol_1d"] TypeError: 'int' object is not subscriptable """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "Driver.py", line 36, in Wavelength.fit_lambda(maskname, band, obsfiles, obsfiles,waveops) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/site-packages/MOSFIRE-1.0.dev0-py3.6.egg/MOSFIRE/Wavelength.py", line 365, in fit_lambda solutions = p.map(fit_lambda_helper, list(range(len(bs.ssl)))) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 266, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 644, in get raise self._value TypeError: 'int' object is not subscriptable

KeckDRP commented 4 years ago

Sherry

I think you mentioned that you have three slits

This means that the interactive fit should have run 3 times. The sequence would be: Start interactive fit Eliminate the points you don’t like Press “f” to do a new fit and iterate When the fit is good, press “n” to move to the second slit and repeat the process

You can only press “q” when you get a red message on the screen that says that there are no more slits to calibrate.

If you used “q” after the first fit you would have only one solution instead of 3, hence the error you are reporting

On Mar 9, 2020, at 6:20 PM, sherry yeh notifications@github.com wrote:

 I got past the interactive wavelength calibration with removing one point in the fit, then pressed q to quit. But the reduction did not proceed beyond wavelength calibration, I only got wavestack[band]_[range].fits, combflat2d[band].fits, and pixelflat2d[band].fits

When I turned off the interactive mode in wavelength calibration and DRP ran successfully. I got 1d and 2d fits files of every slit, background subtracted and rectified.

The errors are listed below. My data are J band MOS data, my DRP runs on Mac OS X 10.13.6.

qq2020-03-09 17:46:11,817 - Wavelength. fit_lambda_helper - INFO: S01] TOOK: 252 s multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, *kwds)) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(args)) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/site-packages/MOSFIRE-1.0.dev0-py3.6.egg/MOSFIRE/Wavelength.py", line 392, in fit_lambda_helper sol_1d = center_solutions[slitidx]["sol_1d"] TypeError: 'int' object is not subscriptable """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "Driver.py", line 36, in Wavelength.fit_lambda(maskname, band, obsfiles, obsfiles,waveops) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/site-packages/MOSFIRE-1.0.dev0-py3.6.egg/MOSFIRE/Wavelength.py", line 365, in fit_lambda solutions = p.map(fit_lambda_helper, list(range(len(bs.ssl)))) File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 266, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/anaconda3/envs/mospy_2018_macos/lib/python3.6/multiprocessing/pool.py", line 644, in get raise self._value TypeError: 'int' object is not subscriptable

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

syeh19 commented 4 years ago

Thanks for pointing out the user error. Indeed it worked when I proceeded with "n" to go through the fit in all the slits.