code: def write_acls(self, acls):
          
          group = self.sampler_group + '/acls/{}'
          # write the individual acls
          for param in acls:
              try:
                  # we need to use the write_direct function because it's
                  # apparently the only way to update scalars in h5py
                  self[group.format(param)].write_direct(
                      numpy.array(acls[param]))
              except KeyError:
                  # dataset doesn't exist yet
                  self[group.format(param)] = acls[param]
          # write the maximum over all params
          acl = numpy.array(acls.values()).max()
          self[self.sampler_group].attrs['acl'] = acl
          # set the default thin interval to be the acl (if it is finite)
          if numpy.isfinite(acl):
              self.thin_interval = int(numpy.ceil(acl))
docs: Writes the given autocorrelation lengths.
  
          The ACL of each parameter is saved to
          ``[sampler_group]/acls/{param}']``.  The maximum over all the
          parameters is saved to the file's 'acl' attribute.
  
          Parameters
          ----------
          acls : dict
              A dictionary of ACLs keyed by the parameter.
  
          Returns
          -------
          ACL
              The maximum of the acls that was written to the file.