set_input_data will automatically create an input channel if necessary.
        Automatic channel creation is intended for the case where users are trying to set initial values on a block
        whose input channels aren't subscribed to anything in the graph.

def set_input_data(self, key, value):
        """
        set_input_data will automatically create an input channel if necessary.
        Automatic channel creation is intended for the case where users are trying to set initial values on a block
        whose input channels aren't subscribed to anything in the graph.
        """
        if not key in self.input_channels.keys():
            self.set_input_channel(key, Channel())
        self.input_channels[key].set_value(Data(self.time, value))