Dealing with Time in System
Sourced from Geoff Coyle
Importance of Time in
For discrete event: “Time moves
forward when something happens”.
For system dynamics: “Time is a
fundamental issue”. Outputs and inputs
are plotted against time.
Aspects of Time in Dynamo
The time unit used
Time-dependent exogenous influences
LENGTH (reserved word)
TIME (reserved word)
DT (reserved word)
Delay1 – a distribution delay (similar to erlang)
Delay2 – a pipeline delay contains a number of
internal levels (seldom happens in actual systems)
Smooth or DLINF3
Delays produced by decision rules
Where STAT is stock adjustment time (used as a
first order delay of STAT in the system)
Note about Delays
Delays should be measured in the same
A model with delays in days and delays
in years are confusing.
Modeling Production Policy uses delays
Modeling Capacity planning and
acquisition uses delays in years
Time units must have the same dimensions
Follow the natural choice of the system, when
If there is a conflict in choosing time, then
the purpose of the model is not clear (both
the modeler and user)
Time magnitude can be 1 week, 1 year, 1
month, etc. The important things is that it
resides in the modeler’s mind and
understanding of the problem.
Time dependent Exogenous
May or may not happen in your model.
It includes simulated demand patterns
such as STEP and PULSE (there are
STEP is used to test model’s stability
and to detect errors.
PULSE should be handled carefully. It
differs on the software packages.
It is a built in feature of dynamo
It connotes the duration of the model
The dimension of LENGTH should be
the same as the Time Unit.
How long is LENGTH?
The LENGTH should be at least 10 times as
long as the longest delay in the model.
It must be long enough to allow any
exogenous input to have sufficient time to
show their effects.
For STEP and PULSE, LENGTH must be long
enough until no further changes are seen in
the model’s behavior.
It must allow for at least 4 cycles.
It must be sufficient to allow policies in the
model to reveal their consequences.
How long is LENGTH?
It must be credible to the client/user.
If confusion arises on the length, the longest
is not necessarily better.
Recall the fundamental aspect of the system
(modeling a business for 100 years maybe
A simple test is to run it with LENGTH
doubled and LENGTH half and see if there is
a difference. (Watch out for absurd realities
such as negative values)
It should be a sensible round number.
A Special command “TIME”
A counter which represents the passage of
time in the model
Automatically creates a level equation of the
form: L TIME.K=TIME.J+DT
N TIME=1900 (Time can be initialized, but
LENGTH should be adjusted when time is
Initializing time does not mean that you are
predicting the future instead of showing
It is the time step in the model that
progressively moves time towards its
termination at LENGTH.
DT for Dynamo and TIMESTEP for other
DT is an artefact of the modeller’s mind
and not the system.
It should have the same dimension as
It is never placed on the right hand side
of a rate or auxiliary.
It has nothing to do with the problem.
If DT is too large it becomes
numerically unstable. If DT is too small
it will take a longer run.
Observe this: DT<= DEL/4N
Where DEL is the magnitude or duration of
delay in the model and N is the order.
In practice, the lower possible value from the
limit shown above is chosen (binary fraction).
Most common values of DT are 0.5, 0.25, and
If there are multiple delays inside the model,
choose DT that is a common multiple of the
Not a key determinant of time.
It is good practice to print, on paper, or
tables of all variables in a model while the
model is being debugged.
An equivalent set of calculations can be made
using a spreadsheet (such as EXCEL) to be
able to see clearly the numerical changes that
happens in the model.
The same equations from dynamo can be
used in printing or constructing the table for