cplan.remove_defaults(a, b...) yields a new caclulation plan identical to cplan except 
        without default values for any of the given parameter names. An exception is raised if any
        default value given is not found in cplan.

def remove_defaults(self, *args):
        '''
        cplan.remove_defaults(a, b...) yields a new caclulation plan identical to cplan except 
        without default values for any of the given parameter names. An exception is raised if any
        default value given is not found in cplan.
        '''
        for arg in args:
            if arg not in self.defaults:
                raise KeyError('{0}'.format(arg))
        return self.discard_defaults(*args)