docs: def register(self, new_outputs, *args, **kwargs):
          """
          Register outputs and metadata.
  
          * ``initial_value`` - used in dynamic calculations
          * ``size`` - number of elements per timestep
          * ``uncertainty`` - in percent of nominal value
          * ``variance`` - dictionary of covariances, diagonal is square of
            uncertianties, no units
          * ``jacobian`` - dictionary of sensitivities dxi/dfj
          * ``isconstant`` - ``True`` if constant, ``False`` if periodic
          * ``isproperty`` - ``True`` if output stays at last value during
            thresholds, ``False`` if reverts to initial value
          * ``timeseries`` - name of corresponding time series output, ``None`` if
            no time series
          * ``output_source`` - name
  
          :param new_outputs: new outputs to register.
          """
          kwargs.update(zip(self.meta_names, args))
          # call super method
          super(OutputRegistry, self).register(new_outputs, **kwargs)