code: def save_hdf(self, filename, path='', overwrite=False, append=False):
          
  
          if os.path.exists(filename):
              store = pd.HDFStore(filename)
              if path in store:
                  store.close()
                  if overwrite:
                      os.remove(filename)
                  elif not append:
                      raise IOError('{} in {} exists.  Set either overwrite or append option.'.format(path,filename))
              else:
                  store.close()
  
          df = self.to_df()
          df.to_hdf(filename, path+'/df')
          with pd.HDFStore(filename) as store:
              # store = pd.HDFStore(filename)
              attrs = store.get_storer(path+'/df').attrs
              attrs.spectroscopy = self.spectroscopy
              attrs.parallax = self.parallax
              attrs.N = self._N
              attrs.index = self._index
              store.close()
docs: Writes all info necessary to recreate object to HDF file
  
          Saves table of photometry in DataFrame
  
          Saves model specification, spectroscopy, parallax to attrs