cmateu / galstreams

Milky Way Streams Footprint Library and Toolkit for Python
BSD 3-Clause "New" or "Revised" License
46 stars 17 forks source link

Issue loading Milky Way streams with the latest version of gala (1.7.1) #28

Closed caganze closed 4 months ago

caganze commented 9 months ago

Hello,

I'm having an issue querying streams using the following commands

import galstreams mws = galstreams.MWStreams(verbose=True)

Here is the error

ValueError Traceback (most recent call last) Cell In[151], line 4 1 import galstreams 2 #from mpl_toolkits.basemap import Basemap 3 #The simples#Set print_topcat_friendly_files=True the first time to create TOPCAT friendly files ----> 4 mws = galstreams.MWStreams(verbose=True)# 5 #ax = mws.plot_stream_compilation(frame=ac.ICRS);

File ~/.local/perlmutter/python-3.11/lib/python3.11/site-packages/galstreams/init.py:309, in MWStreams.init(self, verbose, implement_Off, print_topcat_friendly_files) 305 print(f"Initializing Track6D {lmaster.TrackName[ii]} for {lmaster.Name[ii]}...") 307 #Do the magic. The track is read and all attributes stored in the summary for all registered stream tracks. 308 #Only the ones "On" are "realized" unless implement_Off == True --> 309 track = Track6D(track_name=lmaster.TrackName[ii], stream_name=lmaster.Name[ii], track_reference=lmaster.TrackRefs[ii], 310 track_file=track_file, track_discovery_references=lmaster_discovery.loc[lmaster.Name[ii],'DiscoveryRefs'] , 311 summary_file=summary_file) 313 if implement_Off: 314 self[lmaster.TrackName[ii]] = track

File ~/.local/perlmutter/python-3.11/lib/python3.11/site-packages/galstreams/init.py:837, in Track6D.init(self, track_name, track_file, summary_file, stream_name, stream_shortname, track_reference, track_discovery_references, verbose) 834 self.mid_pole = ac.SkyCoord(*x) 836 #Set up stream's coordinate frame --> 837 self.stream_frame = gc.GreatCircleICRSFrame(pole=self.mid_pole, ra0=self.mid_point.icrs.ra) 839 #Compute and store polygon vertices 840 self.poly_sc = self.create_sky_polygon_footprint_from_track(width=1u.deg)

File ~/.local/perlmutter/python-3.11/lib/python3.11/site-packages/gala/coordinates/greatcircle.py:335, in GreatCircleICRSFrame.init(self, *args, *kwargs) 333 def init(self, args, **kwargs): 334 if "ra0" in kwargs: --> 335 raise ValueError( 336 "Initializing a GreatCircleICRSFrame with a pole and ra0 is no longer " 337 "supported because this does not uniquely determine a coordinate frame." 338 " To initialize a frame with a pole and ra0 and ignore the ambiguity, " 339 "use the .from_pole_ra0() classmethod." 340 ) 342 if "rotation" in kwargs: 343 raise ValueError( 344 "Initializing a GreatCircleICRSFrame with a rotation is no longer " 345 "supported." 346 )

ValueError: Initializing a GreatCircleICRSFrame with a pole and ra0 is no longer supported because this does not uniquely determine a coordinate frame. To initialize a frame with a pole and ra0 and ignore the ambiguity, use the .from_pole_ra0() classmethod.

My gala version: 1.7.1 (I may fix this by downgrading my gala version, but if this is an easy fix, then I don't have to do that) Thanks.

cmateu commented 4 months ago

Hi! Thanks for the detailed report, I had not been able to look at it until now. It's been fixed and now it should be compatible with gala 1.8 (and backwards compatible with gala <1.4). Cheers!