cyriltasse / DynSpecMS

0 stars 3 forks source link

IndexError: tuple index out of range #8

Closed twshimwell closed 5 years ago

twshimwell commented 5 years ago

I'm getting the error below when running ddf-pipeline on a LoTSS field. Not sure if anyone else has seen this. Could it be something like there are no sources for it?

Reading metadata.............. 20/24 [========================================= ] 83% - 0'06 Reading metadata.............. 21/24 [=========================================== ] 87% - 0'07 Reading metadata.............. 22/24 [============================================= ] 91% - 0'07 Reading metadata.............. 23/24 [=============================================== ] 95% - 0'07 Reading metadata.............. 24/24 [==================================================] 100% - 0'08" Traceback (most recent call last): File "/net/para10/data1/shimwell/software/killmsddf/new-install/DynSpecMS/ms2dynspec.py", line 150, in main(args) File "/net/para10/data1/shimwell/software/killmsddf/new-install/DynSpecMS/ms2dynspec.py", line 104, in main BeamNBand=args.BeamNBand) File "/net/para10/data1/shimwell/software/killmsddf/new-install/DynSpecMS/ClassDynSpecMS.py", line 80, in init self.InitFromCatalog() File "/net/para10/data1/shimwell/software/killmsddf/new-install/DynSpecMS/ClassDynSpecMS.py", line 189, in InitFromCatalog NOrig=self.PosArray.shape[0] IndexError: tuple index out of range

botteon commented 5 years ago

I've just bumped into the same error...

Traceback (most recent call last):
  File "/opt/DynSpecMS/ms2dynspec.py", line 151, in <module>
    main(args)
  File "/opt/DynSpecMS/ms2dynspec.py", line 104, in main
    BeamNBand=args.BeamNBand)
  File "/opt/DynSpecMS/ClassDynSpecMS.py", line 80, in __init__
    self.InitFromCatalog()
  File "/opt/DynSpecMS/ClassDynSpecMS.py", line 189, in InitFromCatalog
    NOrig=self.PosArray.shape[0]
IndexError: tuple index out of range
 - 11:08:14 - ClearSHM                  | Clear shared memory
 - 11:08:14 - Multiprocessing           | reaping 1 shared memory objects associated with 1 dead DDFacet processes
 - 11:08:14 - ClearSHM                  | Clear Semaphores
 - 11:08:14 - ClearSHM                  | Clear shared dictionaries
FAILED to run ms2dynspec.py --ms mslist-L695755.txt --data DATA_DI_CORRECTED --model DD_PREDICT --sols [DDS3_full_smoothed,DDS3_full_slow_merged] --rad 2. --imageI image_full_ampphase_di_m.NS.int.restored.fits --imageV image_full_low_stokesV.dirty.corr.fits --LogBoring 0 --SolsDir SOLSDIR --BeamModel LOFAR --BeamNBand 1 --srclist brightlist.csv: return value is 1
Traceback (most recent call last):
  File "/opt/ddf-pipeline/scripts/pipeline.py", line 1748, in <module>
    main(o)
  File "/opt/ddf-pipeline/scripts/pipeline.py", line 1712, in main
    run(runcommand,dryrun=o['dryrun'],log=logfilename('ms2dynspec.log'),quiet=o['quiet'])
  File "/opt/ddf-pipeline/utils/auxcodes.py", line 54, in run
    die('FAILED to run '+s+': return value is '+str(retval))
  File "/opt/ddf-pipeline/utils/auxcodes.py", line 36, in die
    raise Exception(s)
Exception: FAILED to run ms2dynspec.py --ms mslist-L695755.txt --data DATA_DI_CORRECTED --model DD_PREDICT --sols [DDS3_full_smoothed,DDS3_full_slow_merged] --rad 2. --imageI image_full_ampphase_di_m.NS.int.restored.fits --imageV image_full_low_stokesV.dirty.corr.fits --LogBoring 0 --SolsDir SOLSDIR --BeamModel LOFAR --BeamNBand 1 --srclist brightlist.csv: return value is 1
twshimwell commented 5 years ago

Perhaps copy the brightlist.csv in here too?

botteon commented 5 years ago

The content of brightlist.csv is

ILTJ115242.31+433619.9,178.176280,43.605535,Bright LOFAR

mhardcastle commented 5 years ago

Would help to see the logs from earlier in the process... lines saying how many records are created, like this

2019-03-25 02:24:09:  - 02:24:09 - DynSpecMS                 | Using the surveys database
2019-03-25 02:24:09:  - 02:24:09 - DynSpecMS                 | Adding data from file brightlist.csv
2019-03-25 02:24:09:  - 02:24:09 - DynSpecMS                 | Created an array with 48643 records
2019-03-25 02:24:09:  - 02:24:09 - DynSpecMS                 | Selected 16 target [out of the 48648 in the original list]
2019-03-25 02:24:09:  - 02:24:09 - DynSpecMS                 | Including 32 off targets
botteon commented 5 years ago

That lines of the output were missing in my run because the variable DDF_PIPELINE_DATABASE was not defined (thanks Tim), now i export DDF_PIPELINE_DATABASE=True and it is working!

twshimwell commented 5 years ago

woohoo we can close an issue.

mhardcastle commented 5 years ago

Good good! Although really it would be better if DynSpecMS did something sensible even when this parameter wasn't set. Perhaps I need to code something up to serve a static view of the database through a web server.

botteon commented 5 years ago

I think that I've never set this parameter before...despite that, all the other LoTSS pointings that I've processed didn't crash...perhaps this time the error occurred because there was only one source in the list (?)

mhardcastle commented 5 years ago

If you're not setting this parameter then no processing you do gets recorded in the database, so if you're doing LoTSS processing it's really needed.

Yes it's possible there is something that goes wrong when there is only one source and no use of the database. Not a scenario I've tested.