code: def print_trace(self, variable_name, period, max_depth = 1, aggregate = False, ignore_zero = False):
          
          key = self._get_key(variable_name, period)
  
          def _print_details(key, depth):
              if depth > 0 and ignore_zero and np.all(self.trace[key]['value'] == 0):
                  return
              yield self._print_node(key, depth, aggregate)
              if depth < max_depth:
                  for dependency in self.trace[key]['dependencies']:
                      return _print_details(dependency, depth + 1)
  
          return _print_details(key, 0)
docs: Print value, the dependencies, and the dependencies values of the variable for the given period (and possibly the given set of extra parameters).
  
              :param str variable_name: Name of the variable to investigate
              :param Period period: Period to investigate
              :param int max_depth: Maximum level of recursion
              :param bool aggregate: See :any:`print_computation_log`
              :param bool ignore_zero: If ``True``, don't print dependencies if their value is 0