Hi,
Your problem sounds like a deadlock issue to me. The way I’m reading your description, both models require data from one-another to perform the first timestep. In this situation, one of the models has to guess an answer to give to the other.
From your result, it seems as though Bucket 1 is being forced to guess a Q to pass to Bucket 2 and it will do this based on the last value for Q that it used. As your model has just finished initialising, this Q will be 0.0m3 unless you pass in a different initial value through the .omi file.
One possible solution springs to mind - could you try to move the trigger onto the other model (i.e. if Bucket 1 at present, put it on Bucket 2)? This should mean the ‘other’ model will now have to guess a water level to provide Bucket 1, rather than it guesing an exchange volume. As you have presumably set this water level through the .omi file, it should mean that sensible data gets passed straight away.
However, if you have a one-way linked model in the composition then this will be set as the trigger (writercsv, for example). You might be able to force the models to exhange in a different order by connecting them in the reverse order to how you're doing it presently. If this doesn't work, you will need to find another way of getting Bucket 2 to guess an exchange water level - perhaps starting this model a timestep earlier (in the .xml file) would help achieve this, as it will be forced to move first?
But you're absolutely right - as you start to add more models into the composition, things will get increasingly complicated - the choice of your trigger will become increasingly important, potentially dictating how your models need to work.
Hope this helps, but let me know if not.
gordon