MacroFlo exchanges data with APsim and APhvac dynamically to achieve the simultaneous solution of the inter-dependent thermal and air flow balances. In the course of an iterative procedure, room temperature and humidity conditions (together with any APhvac net supply or extract rates) are repeatedly passed to MacroFlo, which calculates the resulting natural ventilation flows. These flows are then used by APsim to update the room conditions, and so on. Upon convergence, this procedure balances both air flows and heat flows for each room.