Wed, 26/08/2009 - 15:33 — jaspert
New constraint checking
Simile version 5.5 was released on 21st August 2009. It is essentially a maintenance release, but incorporates some new features...
New constraint checking
Simile v5.5 contains some new checks that are applied when running a model to make sure it is consistent. These include:
- Indices for enumerated-type dimensioned arrays are of the right type
- If using base model lookup to enumerate a relation, a role has this enabled
- Equations with explicit intermediate results declare and use them in the same context
These changes may have the result that models that ran successfully in earlier versions of Simile may raise warnings. In these cases the change required will be indicated clearly, and the result will be a more comprehensible model and a more reliable modelling process.
Enhancements
- By-record submodels are now represented internally as arrays rather than linked lists of submodel structures, so it is possible to use the element(...) function on values coming out of them
- If you load parameter data from a grid of values in .csv format, you can now use values in rows or columns outside the data area as the indices
- An array can have 'boolean' in its dimensions, meaning two instances, one each for false and true
- Only variables affecting state variables are recalculated for each sub-step doing Runge-Kutta integration, improving performance
- Model diagram popups give dimensionality of components as well as units
- Scripting language now includes commands to set or inspect membership of enumerated types, allowing automation when running datasets with different definitions of a type
- Windows version no longer uses registry to hold licence code, so installing on managed desktops is easier and one machine can have many different editions of Simile installed
- Dialogue windows can now be resized on the Mac
- A lot of more minor convenience enhancements added
Bug fixes
- Trying to run a model in which a by-record submodel contained both fixed and variable parameters caused v5.4 to hang -- v5.5 runs it OK
- Some models hung when loading because hidden components had moved to very remote positions on canvas -- these are now removed
- Fixed save/reopen of models with background images
- Sketch graph could be set to have more data points than model builder could handle -- this is now prevented
- Problems caused by explicit intermediate variables having same name as a physical unit or enumerated type member have been fixed
- Fixed problem loading GeoTIFF data into time series
- Facility to save a GeoTIFF from the grid display helper has been fixed
- Restoring a submodel's connections with its parent via the saved interface specifications has been fixed for influences that branch at the border
- Linux version of v5.4 could crash trying to load a parameter metafile saved by v4.x or earlier -- this is fixed
- Grid display helper now OK with values from variable-membership submodels
- Fixed pasting with context menu on Mac
- Restored plain-English equation parsing error messages (these only ever worked under Windows, got broken in v5.4 but now work on all platforms)
- Clearer error messages for badly scoped definition of explicit intermediate result
- An array can now be its own index
- Execution speed limiter function fixed (it got broken in v5.4) -- now also saved and restored properly, along with adaptive step-size variation status
- As usual, a handful of (increasingly rare) graphical update problems have been sorted out
- Likeweise for problems with unfortunately-named components (most smileys are now OK as component names :-)