Simile version 6.1 released

Simile version 6.1 released

This minor version adds some useful new functionality to Simile v6. Note: a patch release was made on 7th February 2014 correcting a few problems identified after the release.

Much easier to make spatial interaction models

Previously, when using a 2-D array submodel to represent a spatial grid, it was necessary to create a self-association submodel to allow data to be past between instances representing neighbouring grid squares or hexagons. Now there are pre-defined submodel types for these common constructs, inside which you can set link properties to move data between neighbours.


Layered spatial-mapping display tool

There is a new display tool that works a bit like a GIS display, in that representations of several data sets can be superposed on each other in the same window to create composite diagrams. The layers available include rectangular and polygonal maps, and an all-new one for displaying individuals with locations on the maps as icons.

element() function works on lists

The element() function is Simile's way of selecting element(s) from an array or list. Formerly, the first argument of element() had to be an array, because values had to be looked up directly by their indices. Now the first argument can be a list (a value from a variable-membership submodel such as a population) and the result is a sublist, generated by seeking through the list and adding all the values whose indices appear in the second argument.

element() function takes multiple indices

If you have a 2-D (or higher) array, you can look up a single member by using element() with 3 (or more) arguments, e.g.,

element([[arr]], x, y)

Formerly you would have had to do this by nesting element() calls, but the new format is neater and allows the indices to be matching arrays or lists themselves to get multiple values.

Faster processing of association relationships

Simile uses a method called "base instance lookup" to speed up the processing of associations between submodel instances. Previouslly only 1-dimensional fixed-membership submodels could have instances looked up rather than searched for when building an association. Now, the extra functionality described above for element() allows instances of any submodel type to be looked up, so associations can be built faster.

Download Simile v6.1 now!