docs: def add(self, calc, module, package=None):
          """
          Add calc to layer.
          """
          super(Calculations, self).add(calc, module, package)
          # only update layer info if it is missing!
          if calc not in self.layer:
              # copy calc source parameters to :attr:`Layer.layer`
              self.layer[calc] = {'module': module, 'package': package}
          # instantiate the calc object
          self.objects[calc] = self.sources[calc]()
          # register calc and dependencies in registry
          calc_src_obj = self.objects[calc]
          meta = [getattr(calc_src_obj, m) for m in self.reg.meta_names]
          self.reg.register(calc_src_obj.calcs, *meta)