'Helper function for determining if a callback should do work at a given
interval.
Arguments:
callback_data (HDF5 dataset): shared data between callbacks
model (Model): model object
time (int): current time, in an arbitrary unit
freq (int, list, None): firing frequency, in multiples of the unit used
for time, or a list of times, or None (never fire)'

def should_fire(self, callback_data, model, time, freq):

    (t, f) = (time, freq)
    if (((type(f) is int) and (((t + 1) % f) == 0)) or ((type(f) is list) and (t in f))):
        return True
    return False
