docs: def plot_lnp(fignum, s, datablock, fpars, direction_type_key):
      """
      plots lines and planes on a great  circle with alpha 95 and mean
  
      Parameters
      _________
      fignum : number of plt.figure() object
      datablock : nested list of dictionaries with keys in 3.0 or 2.5 format
          3.0 keys: dir_dec, dir_inc, dir_tilt_correction = [-1,0,100], direction_type_key =['p','l']
          2.5 keys: dec, inc, tilt_correction = [-1,0,100],direction_type_key =['p','l']
      fpars : Fisher parameters calculated by, e.g., pmag.dolnp() or pmag.dolnp3_0()
      direction_type_key : key for dictionary direction_type ('specimen_direction_type')
      Effects
      _______
      plots the site level figure
      """
  # make the stereonet
      plot_net(fignum)
  #
  #   plot on the data
  #
      dec_key, inc_key, tilt_key = 'dec', 'inc', 'tilt_correction'
      if 'dir_dec' in datablock[0].keys():  # this is data model 3.0
          dec_key, inc_key, tilt_key = 'dir_dec', 'dir_inc', 'dir_tilt_correction'
      coord = datablock[0][tilt_key]
      title = s
      if coord == '-1':
          title = title + ": specimen coordinates"
      if coord == '0':
          title = title + ": geographic coordinates"
      if coord == '100':
          title = title + ": tilt corrected coordinates"
      DIblock, GCblock = [], []
      for plotrec in datablock:
          if plotrec[direction_type_key] == 'p':  # direction is pole to plane
              GCblock.append((float(plotrec[dec_key]), float(plotrec[inc_key])))
          else:  # assume direction is a directed line
              DIblock.append((float(plotrec[dec_key]), float(plotrec[inc_key])))
      if len(DIblock) > 0:
          plot_di(fignum, DIblock)  # plot directed lines
      if len(GCblock) > 0:
          for pole in GCblock:
              plot_circ(fignum, pole, 90., 'g')  # plot directed lines
  #
  # put on the mean direction
  #
      x, y = [], []
      XY = pmag.dimap(float(fpars["dec"]), float(fpars["inc"]))
      x.append(XY[0])
      y.append(XY[1])
      plt.figure(num=fignum)
      plt.scatter(x, y, marker='d', s=80, c='g')
      plt.title(title)
  #
  # get the alpha95
  #
      Xcirc, Ycirc = [], []
      Da95, Ia95 = pmag.circ(float(fpars["dec"]), float(
          fpars["inc"]), float(fpars["alpha95"]))
      for k in range(len(Da95)):
          XY = pmag.dimap(Da95[k], Ia95[k])
          Xcirc.append(XY[0])
          Ycirc.append(XY[1])
      plt.plot(Xcirc, Ycirc, 'g')