docs: def chart_maker(Int, Top, start=100, outfile='chart.txt'):
      """
      Makes a chart for performing IZZI experiments. Print out the file and
      tape it to the oven.  This chart will help keep track of the different
      steps.
      Z : performed in zero field - enter the temperature XXX.0 in the sio
          formatted measurement file created by the LabView program
      I : performed in the lab field written at the top of the form
      P : a pTRM step - performed at the temperature and in the lab field.
  
      Parameters
      __________
      Int : list of intervals [e.g., 50,10,5]
      Top : list of upper bounds for each interval [e.g., 500, 550, 600]
      start : first temperature step, default is 100
      outfile : name of output file, default is 'chart.txt'
  
      Output
      _________
      creates a file with:
           file:  write down the name of the measurement file
           field:  write down the lab field for the infield steps (in uT)
           the type of step (Z: zerofield, I: infield, P: pTRM step
           temperature of the step and code for SIO-like treatment steps
               XXX.0   [zero field]
               XXX.1   [in field]
               XXX.2   [pTRM check] - done in a lab field
           date : date the step was performed
           run # : an optional run number
           zones I-III : field in the zones in the oven
           start : time the run was started
           sp :  time the setpoint was reached
           cool : time cooling started
  
      """
      low, k, iz = start, 0, 0
      Tzero = []
      f = open('chart.txt', 'w')
      vline = '\t%s\n' % (
          '   |      |        |         |          |       |    |      |')
      hline = '______________________________________________________________________________\n'
      f.write('file:_________________    field:___________uT\n\n\n')
      f.write('%s\n' % (
          '               date | run# | zone I | zone II | zone III | start | sp | cool|'))
      f.write(hline)
      f.write('\t%s' % ('   0.0'))
      f.write(vline)
      f.write(hline)
      for k in range(len(Top)):
          for t in range(low, Top[k]+Int[k], Int[k]):
              if iz == 0:
                  Tzero.append(t)  # zero field first step
                  f.write('%s \t %s' % ('Z', str(t)+'.'+str(iz)))
                  f.write(vline)
                  f.write(hline)
                  if len(Tzero) > 1:
                      f.write('%s \t %s' % ('P', str(Tzero[-2])+'.'+str(2)))
                      f.write(vline)
                      f.write(hline)
                  iz = 1
                  # infield after zero field first
                  f.write('%s \t %s' % ('I', str(t)+'.'+str(iz)))
                  f.write(vline)
                  f.write(hline)
  
  #                f.write('%s \t %s'%('T',str(t)+'.'+str(3))) # print second zero field (tail check)
  #                f.write(vline)
  #                f.write(hline)
  
              elif iz == 1:
                  # infield first step
                  f.write('%s \t %s' % ('I', str(t)+'.'+str(iz)))
                  f.write(vline)
                  f.write(hline)
                  iz = 0
                  # zero field step (after infield)
                  f.write('%s \t %s' % ('Z', str(t)+'.'+str(iz)))
                  f.write(vline)
                  f.write(hline)
          try:
              low = Top[k]+Int[k+1]  # increment to next temp step
          except:
              f.close()
      print("output stored in: chart.txt")