The latest version of Simile deals with some problems that have cropped up on newer operating systems, harmonizes some aspects of model behaviour, fixes some problems with unit checking and makes the user interface more robust.
Working with new OS
We have had some problems with MacOSX 10.11 (El Capitan) due to the new System Integrity Protection introduced by Apple. This places restrictions on programs in one location loading shared libraries from another. These were sometimes causing problems running Simile. We think we have eliminated them by combining multiple shared libraries into one, but we cannot be sure because of the unpredictable nature of these problems.
At the other end of the timescale, we are sorry to say that we are dropping the 32-bit Mac version, so we now only support OSX back as far as 10.6 (Snow Leopard), which was the first to run the 64-bit version.
More robust user interface
We had occasional problems in which a dialogue box would lose focus, and stay on the screen when no longer needed. We have solved this by reducing the possibilities for things to go wrong during dialogue interactions.
More consistent model behaviour
In previous versions, variable parameters would keep their values when the model was reset unless they had a time point value at or before the time the model was reset to. This meant that running the model might produce different results depending on when it was reset from, so we changed it so that values are set to default rather than kept from the end of the previous run. To be able to set a value from a slider right at the beginning of the run, we have added the feature that running the model with 'execute for:' set to 0 updates variable parameters from their sliders without advancing model time.
There was also a serious bug in that if the time point indices had units, they would not be applied at reset, so if resetting the model to a time other than zero, Simile would look in the wrong place in the series for the initial values. This is fixed now.
More flexibility entering equations and units
We appreciate that modellers all want to do things in a different order, so even with strict unit checking turned on you can enter a unit for a component before giving it an equation, and allow the result units to stay unspecified after the equation is entered if they depend on unspecified parameter units. Also we have fixed a couple of problems with strict unit checking:
- Could not edit units for components with ghosts
- Changing units of compartment so its flows went red/black did not change colour of influences from those flows
- Time series index units would be lost from time series embedded in scenario file
- Equations that came out dimensionless would not have their results scaled if given numerical units such as percent -- because Simile confused such results with numerical constants, which are treated as being in the given units. This is fixed (if there are incoming influences, they are not constants) and we have added ppm and ppb (parts per million/billion) as numerical units.
- You now get a clearer message if you mistype a unit expression