def set_id id
      @id = id
      if @id.nil?
        t = Time.now
        parts = %w[y m d H M S Z].map{ |p| t.strftime "%#{p}" }
        @id = "experiment_#{parts.join('_')}"
      end
    end
def set_id id
      @id = id
      if @id.nil?
        t = Time.now
        parts = %w[y m d H M S Z].map{ |p| t.strftime "%#{p}" }
        @id = "experiment_#{parts.join('_')}"
      end
    end
set experiment ID with either user provided value, or date-time
 as fallback