STEM help / Editor skills

4.2.6 Upgrading an old model

The shorter time period model, introduced in STEM 6.0, brought about some significant terminological changes. Most former Year inputs became Period inputs, and in addition, one or two inputs were renamed and given a more intuitive interpretation. The current model format is thus inconsistent with old formats, and so when you open a model saved with a version of STEM prior to 6.0, it will be upgraded to the new format. Apart from the basic translation from the old format to the new, the upgrade program must:

  1. take account of the various minor re-definitions and altered default values so as to preserve the consistency of inputs and results
  2. re-interpret the run period data to reflect the revised semantics for relative years.

The following sections describe how certain STEM 5.4 inputs are adjusted to match new definitions.

If you have any models created prior to STEM 5.4, please contact Implied Logic for help in upgrading them.

Note: Once a model has been upgraded to load into the current STEM Editor, you will not be able to load it into any previous version of STEM. If, for some reason, you intend to keep a copy of a model to use with an earlier version of STEM, it will be simpler to copy the model to a separate directory before upgrading it.

Cobb–Douglas Production Function

The former Yes/No choice has been replaced with an explicit choice between the Zero Elasticity and Cobb–Douglas production functions; and in addition, the default has been changed from Cobb–Douglas to Zero Elasticity. If this input was unset in an old model, the old value is retained by setting Production Function = Cobb–Douglas.

Note: It may not be possible to verify this status if default values for global inputs are linked from an external file, as the upgrade program translates formulae, but does not actually evaluate them. Under these circumstances, a report is generated listing all such instances, in order to help you find and check the relevant external data.

Service Calibration Year

The former input defined an implicit base year for time-series tariff inputs specified with the Exponential Growth or Floor and Multiplier parameterisations; in contrast, from STEM 6.0, all Exponential Growth and Floor and Multiplier parameterisations have an explicit Base Period input. Therefore, in an upgraded model, the Base Period for any tariff inputs of these types are set to match the new Calibration Period.

Service Churn Multiplier

The former input has been replaced with a Churn Proportion input, which takes values between 0.0 and 1.0, rather than the obscure range from 1.0 to 2.0, and so the upgrade program subtracts 1.0 from the old value.

Note: It may not be possible to alter this value if it is either defined by an explicit formula, or if default values for the Service are linked from an external file. Under these circumstances, a report is generated listing all such instances, in order to help you find and amend the relevant formulae or external data.

Monte Carlo Factor for Resource/Function Deployment

The default for the Monte Carlo Factor input has been changed from 1.0 to 2.0, so if this input was unset in an old model, the old value is retained by setting Monte Carlo Factor = 1.0. However, this only affects the results if Distribution = Monte Carlo, and so the Monte Carlo Factor is left unset for any other Distribution.

Note: It may not be possible to verify this status if default values for the Resource or Function are linked from an external file. Under these circumstances, a report is generated listing all such instances, in order to help you find and check the relevant external data.

Gateway Transformation

Any Transformations of this type in old models will be converted to Expression Transformations with:

Expression = Input1 * Input2 / (Input1 + Input2)

Cost Allocation Basis = Fixed Proportions,

capturing the functionality of the former Gateway type.

Note: It may not be possible to detect this case if default values for the Transformation are linked from an external file. Under these circumstances, a report is generated listing all such instances, in order to help you find and amend the relevant external data.

Interpreting STEM 5.4 Run Period data

The most fundamental change to the input data model in STEM 6.0 was that the semantics of relative year inputs, i.e., integers < 1000, were changed. In STEM 5.4 the Model Start Year was identified with relative year zero; in contrast, the new Model Start Date is identified with the beginning of relative year one. This Model Start Date can be either a year (implying 1 Jan) or a fully-qualified date if you want to model in financial years, e.g., from 5 Apr 2001.

Year zero is now reserved as an optional base or reference period, with optional shorter time periods from the beginning of year one. However, year zero of a STEM 5.4 model has no special significance, and its interpretation is entirely opaque to the system. Therefore, some user intervention is required to guarantee the most appropriate translation into the new system, depending crucially on the interpretation of the Model Start Year in the original model.

Suppose you want to upgrade a STEM 5.4 model with the following run period:

Model Start Year = 2000

Model Run Length = 11,

for which the old model engine would have generated results for years 2000–2010 inclusive. There are two alternative interpretations of the Model Start Year.

Model start year as base year

If year zero of the model has been used to capture the initial conditions of a network, with the model focussing on the evolution of the network in the following years, then the old Model Start Year is a base year, best translated as:

Model Start Date = 2001 (i.e., the former Model Start Year + 1)

Model Run Length = 10 (i.e., the former Model Run Length – 1)

Include Year Zero = Yes,

so that year one and the optional shorter time periods coincide with the beginning of the modelled evolution. This has the happy side effect of preserving the calendar identification of relative years so that, e.g., Y0 still corresponds to 2000.

Model start year as first year

If, on the other hand, year zero has no special significance, and is simply the first of eleven years of network evolution, then it would be more appropriate for the new run period parameters to reflect the old:

Model Start Date = 2000

Model Run Length = 11

Include Year Zero = No,

but with the caveat that, in this case, any relative year inputs must be incremented to preserve their calendar identification.

In both cases, the new model engine will generate results for years 2000–2010 inclusive, the difference being whether the corresponding relative range is Y0–Y10 or Y1–Y11.

Translating STEM 5.4 Run Period data

Having reasoned through these two approaches, we experimented with an upgrade program that would prompt for one approach or the other. However, it seemed inappropriate for a decision of such magnitude to be locked in to the one-off upgrade process, especially considering that the user might well be unfamiliar with the issues and thus unable to make an informed decision.

Thus the upgrade program adopts the ‘base year’ strategy unconditionally, so that the user is not presented with a baffling but vital choice. An upgraded model will have Model Start Date = Model Start Year + 1 and Model Run Length one less than before, but with Include Year Zero = Yes, so that both the calendar and relative year ranges for the model remain the same.

Note: It may not be possible to alter these values if either is defined by an explicit formula, or if default values for global inputs are linked from an external file. Under these circumstances, a report is generated listing all such instances, in order to help you find and amend the relevant formulae or external data.

Switching to a first year interpretation

The significance of year zero only really becomes an issue if and when shorter time periods are introduced, whereupon a new Shift Run Period facility in the Editor can be used to achieve the alternative ‘first year’ interpretation:

  1. Select Run Period from the Data menu. The Run Period dialog is displayed.
  2. Select Shift Run Period from the Edit menu of the dialog. The Shift Run Period dialog is displayed, with various options. Select the Remove year zero and start in 2000 option and click OK.

The transformation is achieved by subtracting one from the Model Start Date year and simultaneously adding one to any other relative year inputs throughout the model, thus preserving the integrity of the data. In order for the model engine to generate results for the same range of years, the command also adds one to the Model Run Length and sets Include Year Zero = No.

Therefore, a graph of any time-series input should look identical before and after the transformation; and you may wish to verify this when using the command.

Figure 1: The Shift Run Period dialog

Note: It may not be possible to change all of the affected data if any are defined by explicit formulae or default values linked from an external file. Under these circumstances, a report is generated listing all such instances, in order to help you find and amend the relevant formulae or external data.

Switching back to a base year interpretation

The Shift Run Period command also provides the facility to switch back to a ‘base year’ interpretation, allowing you to compare the two alternatives. If the input Include Year Zero = No when you select the command, the first option in the dialog will be Make 2000 year zero and start in 2001; which has the opposite effect of setting Include Year Zero = Yes, increasing the Model Start Date year and decreasing other relative year inputs and the Model Run Length.

Figure 2: The alternative Shift Run Period dialog

Other Run Period transformations

Relative year inputs are generally designed to specify a fixed offset from the Model Start Date, so that if you change the Model Start Date, say from 2001 to 2003, Yn moves from 2001 + n – 1 to 2003 + n – 1, and the corresponding data is moved forward in time by two years. However, in order to preserve the integrity of the input data when switching between ‘base year’ and ‘first year’ interpretations, the Shift Run Period facility must temporarily freeze the calendar identifications of relative years. This facility has another, more general application. Suppose you build a model representing the evolution of a network from 2001; and then, a year later, you return to the model, wanting to update it to start from 2002.

If you simply enter a new Model Start Date, any relative year inputs will move forward as described above. If, on the other hand, you want to update the run period so that the existing results remain unchanged and fixed in time:

  1. Select Run Period from the Data menu. The Run Period dialog is displayed.
  2. Select Shift Run Period from the Edit menu of the dialog. The Shift Run Period dialog is displayed, with various options. Select the Update model to start in 2002 option and click OK.

The Model Start Date is increased by one and any relative year inputs are decreased, whilst the Model Run Length and Include Year Zero inputs remain unchanged, thus advancing the run period one year into the future without changing the results for the remainder of the original run period.

Primarily so that you can experiment with this command, the opposite effect can be achieved with the Backdate model to start in 2001 option.

Note: These transformations are only relevant if the Model Start Date year is set.

 

© Implied Logic Limited