original_docstring: 
          Reads an isochrone in the Dotter format and determines the 
          age (log10 yrs and Gyr), metallicity (Z and [Fe/H]), and 
          creates arrays with the initial stellar mass and 
          corresponding magnitudes for each step along the isochrone.
          http://stellar.dartmouth.edu/models/isolf_new.html
          
docstring: Reads an isochrone in the Dotter format and determines the
  age (log10 yrs and Gyr), metallicity (Z and [Fe/H]), and
  creates arrays with the initial stellar mass and
  corresponding magnitudes for each step along the isochrone.
docstring_tokens: Reads an isochrone in the Dotter format and determines the age ( log10 yrs and Gyr ) metallicity ( Z and [ Fe / H ] ) and creates arrays with the initial stellar mass and corresponding magnitudes for each step along the isochrone .
code: def _parse(self,filename):
          """
          Reads an isochrone in the Dotter format and determines the 
          age (log10 yrs and Gyr), metallicity (Z and [Fe/H]), and 
          creates arrays with the initial stellar mass and 
          corresponding magnitudes for each step along the isochrone.
          http://stellar.dartmouth.edu/models/isolf_new.html
          """
          try:
              columns = self.columns[self.survey.lower()]
          except KeyError as e:
              logger.warning('Unrecognized survey: %s'%(self.survey))
              raise(e)
  
          kwargs = dict(comments='#',usecols=list(columns.keys()),dtype=list(columns.values()))
          self.data = np.genfromtxt(filename,**kwargs)
  
          # KCB: Not sure whether the mass in Dotter isochrone output
          # files is initial mass or current mass
          self.mass_init = self.data['mass']
          self.mass_act  = self.data['mass']
          self.luminosity = 10**self.data['log_lum']
          self.mag_1 = self.data[self.band_1]
          self.mag_2 = self.data[self.band_2]
          self.stage = np.tile('Main', len(self.data))
          
          # KCB: No post-AGB isochrone data points, right?
          self.mass_init_upper_bound = np.max(self.mass_init)
  
          self.mag = self.mag_1 if self.band_1_detection else self.mag_2
          self.color = self.mag_1 - self.mag_2
code_tokens: def _parse ( self , filename ) : try : columns = self . columns [ self . survey . lower ( ) ] except KeyError as e : logger . warning ( 'Unrecognized survey: %s' % ( self . survey ) ) raise ( e ) kwargs = dict ( comments = '#' , usecols = list ( columns . keys ( ) ) , dtype = list ( columns . values ( ) ) ) self . data = np . genfromtxt ( filename , ** kwargs ) self . mass_init = self . data [ 'mass' ] self . mass_act = self . data [ 'mass' ] self . luminosity = 10 ** self . data [ 'log_lum' ] self . mag_1 = self . data [ self . band_1 ] self . mag_2 = self . data [ self . band_2 ] self . stage = np . tile ( 'Main' , len ( self . data ) ) self . mass_init_upper_bound = np . max ( self . mass_init ) self . mag = self . mag_1 if self . band_1_detection else self . mag_2 self . color = self . mag_1 - self . mag_2
short_docstring: Reads an isochrone in the Dotter format and determines the
  age (log10 yrs and Gyr), metallicity (Z and [Fe/H]), and
  creates arrays with the initial stellar mass and
  corresponding magnitudes for each step along the isochrone.
short_docstring_tokens: Reads an isochrone in the Dotter format and determines the age ( log10 yrs and Gyr ) metallicity ( Z and [ Fe / H ] ) and creates arrays with the initial stellar mass and corresponding magnitudes for each step along the isochrone .
comment: """
          Reads an isochrone in the Dotter format and determines the 
          age (log10 yrs and Gyr), metallicity (Z and [Fe/H]), and 
          creates arrays with the initial stellar mass and 
          corresponding magnitudes for each step along the isochrone.
          http://stellar.dartmouth.edu/models/isolf_new.html
          """$SEP$# KCB: Not sure whether the mass in Dotter isochrone output$SEP$# files is initial mass or current mass$SEP$# KCB: No post-AGB isochrone data points, right?