The Report option, Report flow values option, and C -> F button in the Define Table dialog box allow you to specify how to report numerical values for stocks, flows, and converters in tables.
Each of these options is described in detail below.
To illustrate how your choices for these options affect table output, we'll use the following simple model, which consists of Population, births, deaths, and net growth.
Tip: You may want to construct this model to test the options discussed as you work through the following examples.
Note: Your selections for the Report and Report flow values options are global settings. Your selections apply to all pages in all table pads in the model.
The option to report beginning or ending balances in tables affects when the values for stocks and converters are displayed, relative to the time at which flow values are displayed. The issue arises because of an ambiguity in the use of numbers to reflect points in time. For example, when you receive an Annual Report dated 2010, it's understood that this means "for the year 2010". As a number, however, 2010 means 2010.0. The number 2010 in the phrase "for the year of 2010" really means 2010.999... (that is, the values at the end of the year 2010).
The software allows for either interpretation. Selecting the Ending balances option will attach values for all stocks, flows, and converters to the end of each report interval. If you select the Beginning balances option, values will be attached to the beginning of each report interval.
The results displayed in the following figure show values for Population (the stock), using both the Beginning balances and Ending balances options.
First, note that for the Ending balances option, there's no Month 2.0. Instead, there's "end of time period 1". The value for Population at "1: end" corresponds exactly with the value for Population at 2.00. Note also that, when the Ending balances option is selected, an "initial" value is displayed for Population. This is the value the stock takes on at the very outset of the simulation. This is the same value that's displayed for time 1.00 in the Beginning balances case. Likewise, a "Final" value appears in the Beginning balances case.
When the Ending balances option is selected, flow values are reported out one report interval later than where they appear when the Beginning balances option is selected (flow values are summed in this example). The shift in the reporting of flow values is suggested above, and is clearly illustrated in the following figure, where deaths is defined with a step increase at time 2.0.
The step increase in deaths raises it up to equal births. Note that the step increase is displayed at the end of the first DT of Month 2 (that is, Month 2.25) in the Ending balances case, and at Month 2.00, which is one DT earlier, in the Beginning balances case. In the Beginning balances case, births are equal to deaths at Month 2.0, yet the value of the stock has incremented from 103 to 104. In the Ending balances case, the step increase is displayed at the end of the first DT of Month 2. This is the value of the flow that prevailed over the interval from the last DT of Month 1 to the end of the first DT of Month 2. The stock, therefore, isn't incremented during the first DT of Month 2.
When defining tables in your model, you need to decide which display option makes the most sense for your particular simulation. In general, when you're working with financial variables, which often are reported in end-of-time-interval fashion, it probably makes most sense to use the Ending balances option.
When you include a flow in a table, you need to decide how to report its values.
Note: In all other situations (for example, graphs, numeric displays, etc.), flow values are always reported instantaneously.
The following figure illustrates how the report interval affects the results when you choose the Summed option. The first table shows the values for births and deaths when the report interval is equal to the DT. The second table shows the results when the report interval is 1 (Ending balances is in effect).
In the first table, when the report interval is the DT, births (which are defined as being equal to a constant 8 per month) appear as a constant 2 per DT (since DT = 0.25 and there are 4 DTs in a month). Similarly, deaths (which are defined as being equal to a constant 4 per month) are reported as a constant 1 per DT. The net of births over deaths is therefore 1 per DT, which is exactly the amount by which the stock (Population) is incremented per DT.
In the second table, the report interval is set to 1.0. This means that the flow values are cumulated over 1 month (or 4 DTs). Flow values don't usually remain constant from DT to DT, as they do in this illustration. Hence, the cumulative value displayed for flows usually won't be equal to (1/DT) times the flow value in the first DT of a time unit.
When you use the Instantaneous option to report the values of flows, then the actual calculated flow value, as determined from the flow's equation logic, is displayed in the table.
In the following figure, the births flow value is reported as 8 during each DT, and the deaths flow value is reported as 4. The difference between the two is 4, yet Population increases by only 1 each DT. This is due to the fact that before the net difference between births and deaths is added to the previous value of Population (to produce a new value for Population), the difference is multiplied by DT (for this illustration, DT is set to 0.25). When reporting flow values in the Instantaneous mode, this multiplication isn't considered (for display purposes). Obviously, however, it's being considered when making the calculation to update the value of the stock.
By default, converter values are reported as instantaneous values in tables. If you're reporting flows as summed values (by selecting the Summed option for Report flow values), there can be a mismatch between the reporting of a flow value and the reporting of a converter value that depends upon that flow.
You can solve this problem by making converters act like flows in tables. To do this, select the Flow concept check box on the Scales and Ranges panel.
For example, as the first table below ("Without Flow Concept") illustrates, the value displayed for net growth (a converter) isn't equal to the difference between the displayed values for births and deaths (both flows). This is because net growth is being considered as a converter for display purposes, so its instantaneous value is being displayed.
In general, if you have converters that are playing the role of flow concepts in your model, make sure that they're using the Flow concept option. If you're getting what you consider to be "strange" numerical results displayed in your tables for converters, check to see if these converters really should be treated as flows (for display purposes).