docs: def set_and_normalize(self,species_hash):
          '''
          species_hash is a hash array in which you provide abundances
          referenced by species names that you want to set to some
          particular value; all other species are then normalised so that
          the total sum is 1.
  
          Examples
          --------
  
          You can set up the argument array for this method for example
          in the following way.
  
          >>> sp={}
          >>> sp['he  4']=0.2
          >>> sp['h   1']=0.5
  
          '''
  
          sum_before = sum(self.abu)
          for i in range(len(species_hash)):
              sum_before -= self.abu[self.hindex[list(species_hash.keys())[i]]]
          print("sum_before = "+str(sum_before))
          normalization_factor=old_div(1.0-sum(species_hash.values()),sum_before)
          print("normalizing the rest witih factor "+str(normalization_factor))
          self.abu *= normalization_factor
          for i in range(len(species_hash)):
              self.abu[self.hindex[list(species_hash.keys())[i]]]=list(species_hash.values())[i]
  
          for l in range(len(self.abu)):
              if self.abu[l] <= 1e-99:   #otherwise we might write e-100 which will be read as e-10 by ppn
                  self.abu[l] = 1.0e-99
          for name in self.habu:
              self.habu[name]=self.abu[self.hindex[name]]