docs: def abund_at_masscoordinate(self, ini, mass_coo, online=False):
          """
          Create a file with distribution at a given mass coord, and at
          a given time step.
  
          This for instance may be used as intial distribution for
          function trajectory, to reproduce local conditions in ppn.
  
          Parameters
          ----------
          ini : integer
              Initial model, inital cycle number.
          mass_coo : float or 1x2 list
              Mass coordinate for the traj.
              If list, return mass-averaged abundances for the region
              spanned by the list.
          online: boolean, optional
              are you working online in the ipython notebook? If so,
              you will be given an HTML link to download the file.
  
          """
  
          age=self.se.get(ini,'age')
          mass=self.se.get(ini,'mass')
          temperature=self.se.get(ini,'temperature')
          rho=self.se.get(ini,'rho')
          abund_string = self.se.dcols[5]
          print(abund_string)
          if online:
              from IPython.display import FileLink, FileLinks
          tm=type(mass_coo)
          if tm is not list:
              filename='massf_'+str(mass_coo)+'.dat'
              f = open(filename,'w')
              zone=np.abs(mass-mass_coo).argmin()
              abunds=self.se.get(ini,abund_string)[zone]
              mass_coo_new=mass[zone]
          else:
              filename='massf_'+str(mass_coo[0])+'_'+str(mass_coo[1])+'.dat'
              f = open(filename,'w')
              idx1=np.abs(mass-mass_coo[0]).argmin()
              idx2=np.abs(mass-mass_coo[1]).argmin()
              dm=np.diff(np.insert(mass,0,0.))
              dm=dm[idx1:idx2]
              #average abundances:
              totmass=sum(dm)
              abunds=self.se.get(ini,abund_string)[idx1:idx2]
              dmabunds=[abunds[i]*dm[i] for i in range(len(dm))]
              abundsum=np.zeros(len(self.se.isotopes))
              for i in range(len(abundsum)):
                  abundsum[i]=sum([vec[i] for vec in dmabunds])
              abunds=old_div(abundsum, totmass)
  #        for i in range(len(mass)):
  #            if mass_coo == mass[i]:
  #                mass_coo_new = mass[i]
  #                zone = int(i)
  #            elif mass_coo > mass[i]:
  #                try:
  #                    dum = mass[i+1]
  #                    if mass_coo <= mass[i+1]:
  #                        mass_coo_new = mass[i+1]
  #                        zone = int(i+1)
  #                except IndexError:
  #                    mass_coo_new = mass[i]
  #                    zone = int(i)
          if tm is not list:
              string = 'C Model number | time (yr)  |  Temperature (GK)  | density (cm^-3) '
              f.write(string+"\n")
              string = 'C '+str(ini)+'  '+str(age)+'  '+str(temperature[zone])+'  '+str(rho[zone])
              f.write(string+"\n")
              string = 'C Mass coordinate that is really used'
              f.write(string+"\n")
              string = 'C '+str(mass_coo_new)
              f.write(string+"\n")
          else:
              string = 'C Model number | time (yr)'
              f.write(string+"\n")
              string = 'C '+str(ini)+'  '+str(age)
              f.write(string+"\n")
              string = 'C Mass coordinate range'
              f.write(string+"\n")
              string = 'C '+str(mass_coo[0])+', '+str(mass_coo[1])
              f.write(string+"\n")
          # the for loop below maybe optimized, I believe
          # defining before isotopes and abundances. Marco 13 Jannuary 2011
          for i in range(len(self.se.isotopes)):
              if str(self.se.isotopes[i].split('-')[1][-2:]).upper() != 'M1':
                  string = 'D '+str(self.se.isotopes[i].split('-')[0]).upper()+'   '+str(self.se.isotopes[i].split('-')[1]).upper()+'    '+str(abunds[i])
                  f.write(string+"\n")
          f.close()
          if online:
              return FileLink(filename)