Release Notes (README) for Version 5.10
These are the release notes for Version
5.10 of Vensim.
NOTE All
documentation for Vensim 5 is available online and can also be accessed from our
website. On the Macintosh the documentation is installed separately and can be
opened in a web browser.
SyntheSim
Behavior Changes
Function and Language Changes
DLL Venapp and Command Changes
5.10 Changes
Vensim is now available for the
Macintosh under OSX. Models are completely transferable between platforms and
your Vensim license allows you to choose between either the Windows or the Mac
versions each time you download. Some functionality, notably the display of
embedded metafiles in models, is not available on the Macintosh.
We have also changed the system we
are using to build Vensim on Windows. Most of this is transparent but you may
see some slight numerical differences when working with the optimizer. The help
files and readme notes have also changed somewhat in appearance.
The Exact hide option is now
available for model variables and arrows. This can be useful for emphasizing
different links by creating more than one arrow connection between two
variables.
Dots only custom graphs will now vary
the size of dots according to the line width setting, or use fat lines
(Tools>Options>Graphics) if no line width is set. If a dot shape and size
has been set (via the .vgd file directly) that setting will be used.
DSS Only: The VDF2DATA and VDF2LIST
commands now allow the specification of a time range. Note that if you were
using a Codepage identifier with either of these commands that will cause
problems given the new argument list.
Random functions that have a min/max
specification the prevents them from returning a value with the chosen
distribution will now return NA instead of a uniform deviate on the specified
range. Normally this only happens when the min/max specified are inconsistent
with other parts of the random number specification.
Movement of tool windows and
scrolling by dragging the scrollbar for all windows is smoother. SyntheSim
changes should also be noticeably smoother for models that contain very granular
(for example 0/1 switch) constant scales.
Bug
Fixes
DSS Only batch commands could fail
when running with larger models.
When the toggle for Show Behavior was
on creating a new run with a different name could cause Vensim to
close.
Models with Input Output objects
could cause Vensim to close during simulations and games.
Numbers put out in the normal format
were not consistently rounding on the final digit.
Custom graphs with line widths would
have the widths apply to the wrong lines when some variable and run combinations
were not available.
Stack graphs embedded in sketches
could cause problems in SyntheSim.
Pro only: In the Equation Editor the
"All" and "Simple" function types were transposed.
Importing Excel data with more than
32768 rows was not working.
The Model>Partial Simulation menu
item would always say the model had errors and not complete.
Changing the run name and then
changing a constant by clicking on the slider rails in SyntheSim could cause
Vensim to close.
On some computers executing
optimization with Payoff Sensitivity set could cause Vensim to close.
DSS Only: The LISTVAR control would
use the first value when it was not changed by the user.
In SyntheSim if a variable was
overridden to be a constant after changing views and returning to the view where
the variable was overridden the slider would not be available.
If the "More" tab on the Equation
editor was selected in a model with no subscripts when the Equation editor was
reopened the displayed tab was incorrect and instability could
result.
Numbers displayed in the Pretty
format were not being consistently rounded. This may result in some differences
in reported values in tables.
5.9e Changes
The
convention for treating floating point errors in sensitivity simulation
has changed so that NA is stored instead of the last good value.
Percentiles and other computations are done on the restricted data set.
DSS Only: The Pre/Post options specified for a simulation are no longer
invoked when the model is run from a Venapp or command file or through
the DLL. Use SPECIAL>RUNCOMMAND to run such scripts.
DSS Only: When opened from a packaged application with a calling
program the Vensim DSS DLL behaves the same as the Vensim Model Reader
DLL - always referencing the calling package.
Bug Fixes
The document tool would sometimes return a blank page when documenting multiple selections or a whole view.
When opening Vensim sometimes a ghost window sizer would appear on a sketch or some toolbars would not be visible.
DSS Only: The COLORCIRCLE and COLORRECT controls could cause Vensim to close when the screen was refreshed in Venapp.
Units checking in equations with :EXCEPT: would report spurious errors.
Reform/Clean and View>As Text would fail on models containing spurious metafile or bitmap data.
The truncation of error and warning output was excessively restricting what displayed when optimizing.
The Sensitivity Graph tool would not label the x axis for Time values above 1000.
Pro/DSS Only: Using the AddEq button in the Equation Editor with a
subscripted Level would make all rates inflows for the new equation.
Starting a Game with a model using Data variables could cause Vensim to close.
Date Labels would not always appear in the Table tool.
DLL Only: The Stop button on the work in progress window was not responding.
5.9d Changes
The Installation program has been modified to make it easier
for use with Vista and Windows 7. Administrative rights are no longer required
for installation. If you are logged in as an administrator Vensim will be
installed to program files. If you are logged in as a standard user Vensim will
be installed into the local application data folder. Sample models and
supporting files will be installed into a public folder or your home directory
for standard users. Note that when installing Vensim DSS or the Vensim Model
Reader as a standard user the Vensim DLL will be put in the same directory as
the program, not in a system directory. This means you will need to move it to a
different directory or add the program directory to your system PATH in order to
use the DLL. If you install as a Standard User there will be a menu item to
uninstall Vensim since Vensim will not show up in the list of installed
programs.
NOTE: Uninstalling as a standard user may put up a dialog
with a message about a shortcut referring to a location that no longer exists. This does not cause any problems.
The Vensim Error Log and Initialization setting default
locations have also been changed. The default initialization settings will be
kept in the Vensim folder of Application Data (usually c:\documents and settings\username\application
data\vensim) . The error file will be put there, or in the Local variant
on Vista/7 if it can’t be opened in the same directory as the Vensim
executable.
The Reset and Reset All buttons in SyntheSim now return
Constants and Lookups to the values they had on entry to SyntheSim rather than
the values set in the model equations. Alterations of Constants and Lookups from
change files, live spreadsheet links, database queries and changes made in
simulation setup mode are now retained to support this reset.
In simulation setup model Lookups are now a slightly
different color from Constants so as to more easily distinguish them.
When starting SyntheSim if an error occurs the error log
opens and displays the error in addition to showing the dialog indicating there
were problems with the simulation.
When checking a model only the first 128 errors and 128
warnings are reported preventing long lists of errors which are slow to display.
The same applies to simulating a model.
The Runs Compare tool no longer requires the Time Axes for
Data variables to be identical.
Bug Fixes
Subscript Ranges requiring quotes were not displaying their
elements in the Equation editor when selected from the dropdown under the
Subscripts tab.
When adding the first point in the Lookup Editor by entering
numbers if the x value was out of range of the displayed x axis the software
would stop responding.
DSS Only: In Venapps message functions during screen setup
would cause the application to hang.
Units errors in :EXCEPT: equations would sometimes cause
Vensim to close during units checking.
Not all right hand side variables were consistently
displaying unit assignments when errors were reported for Level equations during
units checking.
The Units Equivalent tab on the Model>Settings dialog was
opening with the globally defined units equivalents, not those specific to the
model.
Deleting a selection of variables from the model would fail
and only delete from the current View when the selection included Time or
another built in control variable.
PLE and PLE Plus only: Adding in a Shadow variable would not
display the variable until the view was refreshed.
Pro/DSS Only: Input Sliders were sometimes disappearing in
SyntheSim mode when subscript or run selection changes were made.
Long comments in sketches would sometimes cause the variables
to disappear from the View with the comments, but remain in the model.
Models using both GET XLS CONSTANT and GET XLS DATA would
sometimes fail to start SyntheSim.
Using the Runs Compare tool multiple times could case Vensim
to stop responding.
5.9c Changes
None
Bug Fixes
Variable names ending in international or far eastern
(non-ASCII) characters were being truncated when entered.
5.9b Changes
The help files
can now go to the background (behind the main Vensim window).
Bug Fixes
Vensim DLL Only:
Floating point exceptions generated through mathfunction (exp,
ln, etc) would cause unpredictable behavior in the calling
appliction.
DSS Only: The
Venapp Editor would cause entered commands to repeat when editing
buttons and other command objects.
Printing and
exporting of Sketch Views with IO objects and sliders would
introduce extraneous markings.
Some of the
nonstandard valve shapes were not showing on sketches (these would
appear simply blank).
Bitmaps embedded
in sketch views were printing the wrong size (too small).
DSS/DLL Only:
When using commands file patch with an & or otherspecial character
in them were not being handled correctly.
5.9a Changes
The Reset to Full Range button on the Time Axis tab of the
Control Panel resets to the simulation range. Clicking again will
expand this to include the embedded data range if this is bigger.
Clicking on variable names in embedded graphs will select them
into the workbench. When embedded graphs are not displaying output the
variable and tool name (or custom graph name) are now displayed.
The highlighting format for selected Arrows has changed in order to make it easer to see what is selected.
The list of models most recently open has been extended to include the last 10 models.
In SyntheSim mode the color for Lookup variables has been
changed to a lighter blue, and overridden variables a lighter red to
make graphs easier to read.
Bug Fixes
Models using nested macros would sometimes cause Vensim to close when adding or pasting in new variables using those macros.
Models using string variables in GET XLS.... calls would sometimes fail to open.
DSS Double Precision only: Floating point errors during simulation
would sometimes cause SyntheSim (or simply behavior displayed on
Sketches) to stop responding.
DSS Only: The ALIASSCREEN command in Venapps was not working.
DSS Only: Sometimes screens in Venapps would not fully populate all buttons.
DSS Only: The SIMULATE>SETVAL command was not working with String Variables.
Pro/DSS Only: When using csv files for changes lines with the first row empty where putting out an error
message instead of being ignored.
The positioning of the cursor within the Equation Editor was incorrect when there were syntax errors.
Tables with large number of time points using Date labeling would sometimes fail to open with a memory
error.
Units checking on VECTOR LOOKUP was returning the units of the second rather than the first argument.
Work in progress graphs would not always update properly during a simulation, and could go blank in
Venapps.
5.9 Changes
Pro/DSS Only: An option to display the time axis on graphs and
time in the Table tool as Dates instead of decimal values has been
added. This makes it easier to present things in a format that your
audience may be more comfortable with. The settings for this are on the
Time Bounds tab of the Model Settings dialog and their display is
toggled on and off in the Time Axis tab or the Control Panels. Details
on the settings are in Chapter 3 of the Reference Manual.
Pro/DSS Only: An additional ordering option "Comp" has been
added to the Document tool. This will, to the extent possible, output
the equations in computational order.
DSS Only: Note that the version number for external functions and compiled simulations has changed again. You will need to
recompile your external functions with the new vensim.h file. No other changes are required relative to 5.8c versions.
The x-axis scaling on the Lookup Editor has been changed to be tighter around the first and last value.
Pro/DSS Only: An alternate vector search technique SVECTOR has
been added to the optimizer. This allows search over an arbitrary
vector in the parameter space. See Chapter 10 of the Reference Manual
for more details.
Pro/DSS only. Subscript error checking on self looping functions, including ALLOCATE AVAILABLE has been improved.
Bug Fixes
Setting TIME SLOP to NA could cause problems with importing data.
Pro/DSS Only: Using Lookup variables as if they were normal variables
inside of a SUM function was not always generating an error message.
Opening files with 4 letter extensions would not always work.
DSS Only: The IFTHENELSE command in Venapps was not working correctly.
DSS Only sketch displays in Venapps would sometimes remain blank, graphs fail to populate and SyntheSim effects fail to display.
DSS Only: Compiling models using the VECTOR SELECT function was not working.
Graphs created automatically during Reality Check simulations would not always display, and sometimes would show invalid
results.
Importing data from spreadsheet files containing variables with special characters requiring quotes was not always working
consistently.
Importing data from text files with time running down and values
missing in the final columns would sometimes ignore data values after a
gap in the data.
DSS Only: Commands where some elements required quotes, most notably
SIMULATE>SETVAL with a special variable name, were not being parsed
correctly.
On models with embedded sliders or graphs sometimes clicking OK on the
Model>Settings dialog would cause Vensim to hang for a period of
time and not refresh the sketch.
5.8d Changes
A Japanese language option is now available for menus and
common dialogs. Use Tools>Language to select this.
Bug Fixes
Printing with IO objects on the screen could still cause
trouble.
Pro/DSS Only: Using a changes file to start a game would cause spurious error
messages each time the game continued.
Pro/DSS Only: Basing simulation on other simulations for changes, resuming or
gaming, was not working consistently.
Pro/DSS Only: Answering yes to updating subscripts in the Equation Editor could
cause Vensim to close.
Pro/DSS Only: Using a causes tree on a variables with an :EXCEPT: formulation
could cause Vensim to close.
Pro/DSS Only: The search and replace windows in the toolbar of the text editor
would not activate when the editor was first opened.
Pro/DSS Only: Using the toolbar paste function in the Text Editor could lead to
incorrect display.
DSS Only: Venapp using 3d or ribbon graphs were not
working correctly.
Pro/DSS Only: Search and replace was not properly refreshing in the Text Editor.
DSS Only: The SPECIAL>SUBSCRIPT command was not changing subscript selections in
Venapps.
DSS Only: Venapp commands with empty arguments were not being properly parsed.
The minimize/restore/delete box on maximized sketches and tools would sometimes
draw on other windows not part of Vensim.
Pro/DSS Only: Trying to change the first String Variable in a model via the
constant changes dialog would not work.
Changing a name on the left hand side in the equation editor when that name also
appeared on the right hand side would not change it on the right hand side.
5.8c Changes
In custom graphs and tables the wildcard *B
has been added to mean the bottom or last loaded run.
DSS Only: The setup for compiled simulations
and external functions has changed so that it is no longer necessary to create
separate libraries for Vensim DSS, the Model Reader and the Vensim DLL. It is
also no possible to have more than one model compiled for quick simulation in
the same directory. To accommodate this, the version number on external
functions has changed. To update your external functions you will need to
recompile with the new vensim.h and replace the set_gv function if it exists. If
you replace any calls to vensim_error_message, vensim_execute_curloop and
vensim_allocate_simmem with the callbacks passed in VENGV, you will also be able
remove vensim.lib from the link list and have a more portable external function
library. See the sample venext.c for more details. A number of the Vensim DLL
functions can now be accessed from external functions.
Vensim DSS/DLL Only: vensim_get_info can be
passed 24 to get the list of maps between wildcard names and Excel files in use
with a model.
Pro/DSS Only: Optimization sensitivity files now use the Euro Number switch to
determine format.
Bug Fixes
Printing or copying with SyntheSim active or
with IO objects on the screen would cause Vensim to close.
Unchanging constants set to negative numbers would cause a syntax error to be
reported.
PLE Only: The Equation Editor was not working with Reality Check statements.
Pro/DSS Only: Vensim would open models with the built in graph definitions even
when a custom graph set had been used the previous time the model was active.
DSS Only: Using MENU>LOADRUN in Venapps with SyntheSim active would cause the
Venapp to lock.
Nested macro calls to macros with output variables were not working.
The exact hide attribute on comments was being lost after a model was closed and
reopened.
Run labels on wildcard runs were not being properly saved.
DSS Only In Venapps SPECIAL>REFRESH was not updating graphs embedded in
Sketches.
Reader Only: Initialization settings were only being read when a toolset file
was included in a published model.
Pro/DSS Only: Answering Yes to changing subscripts on a variable in the equation
editor would cause errors when that variable was used in a macro function (user
defined or built in).
Pro/DSS Only: Reading changes files with the ~~| format on a separate line would
generate an unnecessary warning message.
Pro/DSS Only: Using the File>Load Custom command in the Text Editor would cause
Vensim to freeze.
5.8b Changes
A Chinese (Simplified) interface is now
available for Vensim. To access it go to Tools>Language and select Chinese. Then
close and reopen Vensim.
Pro/DSS Only: A new Exception syntax has
been added for subscripted equations. This will allow you to write one equation
and specify that some subscripts will use another equation rather than having to
create specific subranges for the most common equation. See the section on
Exception Equations in Chapter 4 of the Reference Manual.
Not PLE: For hidden comments an option has
been added to use only the exact hide level. This allows you to set up comments
that will appear in sketches only when a specific hide level is reached. This
can be convenient for commenting on the last structure uncovered as successive
detail is revealed.
Reader Only: When opening a package (.vpm)
if the ini file settings are recorded in the package these will be used to make
the model operate as in the same way it operates in the development environment.
Most importantly warning suppression, line colors and custom graph fonts will be
the same.
The internal macro naming convention has
changed. Macro names now take the form #lhs>macroname>macrovar# where lhs is the
left hand side variable name (that is the variable the macro is used in the
equation of). This means, for example that SMOOTH in the equation:
smoothed income = smooth(income,smooth time)
will become #smoothed income>smooth# instead
of #smooth(income,smoothtime)# Note that these names will normally only appear
if you select the option to show macro variables.
Pro/DSS only: Macros definitions can now
contain calls to other macros previously defined, or built in. For example a
DELAY9 macro can be constructed from 3 DELAY3 calls.
When a floating point error (overflow or
divide by 0) occurs in SyntheSim all the graphs are now highlighted yellow to
indicate the error. The message identifying where and when the error occurs
appears at the bottom, also highlighted in yellow.
The accuracy of timing with SIMULATION PAUSE
has been improved over all value ranges. The expression
simulation pause=Desired simulation time /
((FINAL TIME - INITIAL TIME) / SAVEPER)
is a useful one where desired simulation
time is expressed in seconds.
Pro/DSS only: Messages displayed during a
simulation related to data and variable range exceptions can now be selectively
suppressed. Details on this are in the Constant Input Files section of Chapter 8
of the Reference Manual.
Bug Fixes
If the option to accept Enter in the
equation editor was set then hitting enter would add a large number of blank
lines to the equation.
Work in progress graphs would sometimes not update completely.
DSS/Reader Only: In Venapp Showvars in screens were not getting the final values
at the end of the simulation.
Variables beginning with # were being lost from sketches when opening models.
Limited time versions of Vensim were not opening on some Windows Vista
computers.
When an Input Output Slider was active in SyntheSim the Reset Current Slider Val
command was not working.
When a simulation was started using the Simulation Control Dialog the active
sketch tool was not being reset to the Pointer tool.
In SyntheSim mode as sliders dragged graph lines would sometimes draw outside of
the words and remain on the screen.
Scales on SyntheSim onscreen graphs were affected by values outside the
simulation time range from other loaded runs.
Loading a simulation run with embedded data variables outside the time range of
the simulation would not allow visibility of all data values.
The Esc (or Ctrl+C) keys were not stopping simulations where Work In Progress
graphs were active.
Pro/DSS Only: Using 2d output with the table tool and Causes/Uses selected would
lead to incomplete output.
Entering SyntheSim with a model that had floating point errors would leave
Vensim with the wrong toolbar active.
DSS Only: Running command files would not release unused memory during the
execution of the command file.
5.8a Changes
Pro/DSS only: The Text Editor Find and
Entrain functionality will highlight text now.
DSS only: A C# example has been added for
use with the Vensim DLL. This is installed (in folder csharp) when the DLL
install option is chosen.
Bug Fixes
Double clicking on a model with Vensim
closed would cause Vensim to open then close again (DSS and Model Reader only).
When using Model>Settings after clicking OK the current View would sometimes
appear blank until View>Refresh or something else forced a refresh.
Work in progress graph were not being displayed in normal simulation mode.
Very small values of SIMULATION PAUSE were not slowing simulation speed.
Some of the Sketch Layout commands would cause an error when executed.
The Save icon on the toolbar was not saving the model when clicked.
Numbers beginning with a decimal point such as .123 were not being recognized.
Pro/DSS only: Entrain was not working in the Text Editor.
Work in progress graphs were sometimes displaying with incomplete graph lines.
DSS only: SHOWVAR controls were not updating properly at the end of a
simulation.
5.8 Changes
The majority of
changes in 5.8 are under-the-hood. Memory and threading management have been
rewritten to improve performance and responsiveness.
A new version of
the World3 model has been included that makes running scenarios easier. See
Appendix A of the Modeling Quite for details.
The defaults
scaling behavior for the graph tool when multiple variables are selected has
been changed to group variables with the same units together. Options have been
added to control this.
PLE/PLE
Plus/Reader only. The toolset now has two Document tools, one that documents a
single equation, and one that documents the entire model.
(Pro/DSS only)
The function GET DATA MEDIAN has been added.
(Pro/DSS only)
When changes to variables subscripts are entered in the Equation Editor, Vensim
will attempt to update the changed variable where it is used.
The behavior of
sliders in SyntheSim mode has been changed to be smoother, and use a 0 based
increment that do not refer to the minimum bound.
Bug Fixes
The model
settings dialog would not accept time units with international characters.
ODBC output files that tried to put the same variable out as both a data series
and a constant at a time would fail.
Selecting Capitalize by type in the global options would cause international
characters to be displayed incorrectly.
Work in progress graphs in gaming mode would sometimes start with anomalous data
displayed.
Some errors in Reality Check equations, especially using a Test Input as a
regular variable, were not being caught during the model check phase.
Very long comments were not being displayed on a sketch when hovering over a
variable.
Custom Graphs with the Stack option selected were not drawing correctly during a
game.
DSS Only – SHOWVAR controls were not updating in SyntheSim.
The GET XLS functions could cause Vensim to close when spreadsheets contained
empty but nonnull cell entries.
PLE Only – the nonfunctional Edit and View menu itemss related to hidden
variables have been removed.
5.7a Changes
(Pro/DSS only) On the changes tab of the simulation control
dialog the “Load Changes From…” button will allow multiple files to be selected.
Same for data input and command output files.
If the time axis for graphs has been set it will not be reset
by a new run unless that run starts before or ends after every currently loaded
run.
When importing data from Excel files the name of the Tab rather than the name of
the Excel file is used as the default dataset name.
PLE and Plus only. When using the Shadow Variable tool in a
sketch by holding down he Shift key when clicking on a sketch location a
defining variable and not a shadow variable will be added to the sketch. This
makes it possible to write equations for FINAL TIME and TIME STEP.
Bug Fixes
In the equation editor the delimiter button [()] was not
working on long equations.
Unchangeable constants were not coming up with the correct type selected in the
equation editor.
Graphs comparing Constraints during reality check operations were incorrectly
scaled and not readable.
Excel sheet names using international characters were not being recognized in
the GET XLS calls.
DSS Only: Publishing models with the scramble option checked was not working
properly.
DSS Only: Publishing Venapps would check the Other checkbox when the dialog
first opened.
Limited time licenses installed on computers running non-English versions of
Windows would sometimes fail to open.
When exporting a dataset the checkboxes to select time running down/across were
linked to the checkboxes to put subscripts in a separate column.
Saving models with a password was not working.
Comments on Lookup variables would sometimes have extra \! delimiters added to
them.
Subscript Element names requiring quotes were sometimes being incorrectly
formatted when selecting variables for optimization and sensitivity testing.
When using the “Set” button on the Simulation Control Dialog the dataset names
entered were not being recorded.
Reference mode data with reserved names (such as functions) would cause the data
to fail to be loaded for display in graphs. Reference modes for subscripted
variables were not being properly retained. Clean and reform could also cause
reference modes to be lost.
In the Equation Editor subscript equivalences were not being entered and Time
Bases not properly marked (Pro/DSS only) .
5.7 Changes
Unchangeable Constants have been added. These behave exactly
the same as Constants, but can’t be changed when setting up a simulation. They
are useful for preventing sliders in SyntheSim, reducing the number of things
that a model user can change, and working with the VECTOR SELECT function.
Unchangeable Constants are defined by a double equal sign ==. Models using
Unchangeable Constants will not work in version of Vensim prior to 5.7. See
"Variables" in Chapter 2 of the Reference Manual for more details.
Professional and DSS only: A new function VECTOR SELECT has
been added. This function can sometimes be used in place of the PROD, SUM, VMAX
and VMIN functions to improve Causal Tracing and speed simulation. See Chapter 4
of the Reference Manual for details.
Professional and DSS only: The optimizer has been
substantially modified to increase efficiency and provide more direct control of
convergence. The interpretation of the fractional tolerance specified has been
changed somewhat to accomplish this. See Chapter 10 of the Reference Manual for
more details.
DLL only: vensim_get_data when called with 0 as the final
argument will return the exact number of data points required and not the
maximum required for any variable.
Bug Fixes
PLE Only: Models created with hidden variables when opened in
Vensim PLE would not display the hidden variables but only the arrows.
Published model packages with international characters in the filename, or the
path the file was contained in, were not opening.
Reader Only: Venapps opening a run control dialog were not listing the loaded
runs.
Importing spreadsheets saved in early Excel formats was not properly converting
international characters.
Text in WingDings and other nonstandard fonts was being rendered in the Latin1
character set.
During optimization and sensitivity simulation memory usage was increasing
unnecessarily.
Units checking on MIN, MAX and some other functions was sensitive to the order
of arguments when one argument was a number.
Variables graphed from Gaming runs would sometimes display anomalous points.
Exported table values when time was running down did not paste correctly into
Excel.
5.6d Changes
Bug Fixes
Publishing models was creating a model marked as an
application so that the package could only be opened in Vensim DSS.
5.6c Changes
Help files are now provided as .chm files for compatibility
with Windows Vista. Because of this the help system will no longer work with
Windows 95.
Pro/DSS Only: The files created during optimization with
sensitivity, multiple start or vector searches are now named the same as the run
name followed by _searchtype. For example instead of vector.dat the file will be
called runname_vector.dat. Similarly instead of sensitiv.tab the file will be
called runname_sensitive.tab (notice the e is now in place). Also if you are
creating reports with a payoff the prediction error report files are called
runname_1step.err and so on.
Pro/DSS Only: A new function called VECTOR LOOKUP has been
added. This function takes a subscripted variable as the specification of the Y
values and specifies a range for the X axis. The input variable can be constant
or dynamic allowing more flexibility in specifying multidimensional, partially
analytical and other specialized functional forms.
The File Publishing dialog now has buttons to save and load
publication information. If you are publishing with setting different from the
defaults it may be more convenient to save the settings, and then reload them
each time instead of making the changes on the dialog. In conjunction with this
there is now a Venapp command FILE>PUBLISH that creates a published model or
application using a form file.
Exporting datasets now has an option to select the character
encoding for the exported files. The default encoding is Unicode UTF8, but you
may want to select another. Many versions of Excel will not work with this and
it is better to use ANSII Standard (referred to as Windows (ANSI) by Excel). For
excel file format output this is the default. Note that if you are only using
regular Latin letters (A-Z, a-z) numbers and punctuation these settings do not
matter. It is only for international (from this writer’s perspective) characters
that it is important. DSS Only the MENU>VDF2TAB, VDF2DAT and VDF2XLS functions
have had a character encoding argument added.
Parallel to exporting when you import a dataset that has
international characters, you will be queried for the source encoding. This is
applicable only to text, not for importing spreadsheets. DSS Only the
MENU>DAT2VDF and TAB2VDF have had an encoding argument added.
Pro/DSS Only: The default analysis toolset that is built in
has been changed to be the same as the old default2 toolset. If you have not
modified your toolset the appearance will be slightly different as more tools
will be available.
Bug Fixes
PLE/PLE Plus Only: Selecting type Reality Check was not
working in the equation editor.
Delete from model with multiple variables could sometimes cause internal data
corruption.
DSS Only: Using ODBC with a VARID during output would
cause Vensim to close.
DSS Only: Variables requiring quotes were not recognized
in SLIDEVAR and other controls. These variables should have the quotes around
them escaped as in
SLIDEVAR,"\"simple.constant\"",15,8,15,7,,0|100|1,"",
Pro/DSS Only: If a vector search was interrupted during optimization the file
vector.dat would not be available till Vensim was closed (note that this file
has also been renamed now).
DSS Only: The TEST command was not properly evaluating
model values in Venapps.
Bar graphs that were made very small had bars that would disappear.
Selecting variables with embedded brackets [] would sometimes fail to quote the
names properly.
Saving of a model under Windows 95/98 would fail with a message about unable to
create backup.
Copying text from tool output would add extra empty lines when pasting.
Non Latin upper and lower case characters were not being properly recognized.
This meant a model could have both the variable åb and Åb. Those two should, and
now will be, treated as the same so there may be some correction required if you
created variables differing only by capitalization.
Exporting simulation results to Excel format files would results in garbled
international characters.
5.6b Changes
Tools and Selected Variables
Options have been added to a number of tools to work not only
on the current workbench variable, but also on sets of variables. The Graph
tools can be configured to operate on the workbench variable, or on the
variables selected in the current view making it easy to quickly graph multiple
variables. The Strip Graph, Table, Document, Stats and Sensitivity Graph tools
can now all be configured to operate on currently selected variables, all
variables in a view or all variables in the model.
When a tool is configured to operate on the selected sketch
variables it will operate on the workbench variable if there are no selected
variable, or if the text editor is opened on the model. This makes this
selection convenient for working with the classical workbench variable, or for
working with a selection of variables. For example, if you want to make a graph
of several variables simply highlight them and click on the Graph tool. The
variables will appear in a single graph. If you then want to single out a
variable select it into the workbench, and click on the graph tool again.
For Vensim PLE and PLE Plus the Graph tool, both Table tools
and, for PLE Plus, both Sensitivity graph tools have been configured to operate
this way.
For the other configurations the default toolsets have been
configured to operate this way but any existing toolsets will need to be
modified to change their behavior. For the Document tool these options have been
added under the multiple equation settings. For the Graph tool there is a
checkbox near the bottom to operate on "Selected Vars." For the Strip Graph,
Table, Stats and Sensitivity Graph tools the old "Causes, Uses, None" choices at
the top have been replaced with a dropdown list containing – None, Causes, Uses,
Selected Vars, Current View and All Vars. If you select Current View and open
the Text Editor instead of the Sketch Editor the tool will behave as if None
were selected. Similarly, with Selected Vars if there is no selection the
behavior will be the same as if None were selected.
These changes make it easy to quickly operate on a group of
variables, without getting in the way of doing causal tracing.
Templates and Autocenter/Fit to Screen
Every view using a template will open with the upper left hand
corner in a fixed position. This will be true independent of your page mark
settings. While the zoom percentage from the last time you had the view open
will be retained, if zoom is set to "Fit to Screen" the sketch will not be
centered. This should make it much easier to get consistent navigation effects
using templates. The font used in template objects has also been set up to refer
back to the template view, not the current view.
Bug Fixes
International characters were not going into the clipboard
properly. This was especially noticeable when pasting to Excel.
Printing of models containing international characters was not working
correctly.
Models stored in directories containing international characters were not saving
correctly.
Excel file names with international characters were not opening properly for GET
XLS … functions.
Increments on sliders in SyntheSim mode were being set to very small numbers
when blank.
DSS/DLL only – vensim_get_varnames when asked for gaming
variables was missing some where only a subset of subscripts were defined as
gaming variables.
Some cells with text created from formula in spreadsheets were being ignored
when importing the spreadsheet data.
Named ranges ending in numbers were not properly recognized when using GET XLS…
functions.
Changing the range on a slider in SyntheSim was not properly updating the slide
position.
New variable names were not showing up properly on the variable list when that
was set to be visible.
Macro Variables could not be selected into the workbench form the Variable
Selection Tab of the Control Panel.
Macro variables using subscripts different from those on the LHS of the calling
equation were not working properly for element by element equation ordering
required to resolve symbolic simultaneities.
Level equations that included nonstandard subscripts were sometimes being
updated automatically when a new cause is added or removed in the diagram.
When multiple subscript definitions define the same subscript range the last
definition alphabetically that does not have a map will be used to name the
family.
Custom bar graphs created using subscript ranges in the names of the variables
to be displayed.
Trees showing polarities or link colors were not working when the link was to a
valve.
5.6a Changes
Version 5.6a contains a number of bug fixes.
Bug Fixes
File permission problems could cause errors during simulation
or when saving a model.
Models would print with variable names squished together.
Translation of models to UTF8 format could cause anomalous shadow variables to
appear.
In the Model Reader the up and down arrow keys were not changing hide levels.
In the Model Reader Venapp’s with SyntheSim active were not updating.
Vensim was not running under Windows 98 or ME. Note that Vensim will not run
under Windows 95.
Importing data from Excel files would sometimes cause unexpected behavior.
Graphs with legends suppressed did not have sufficient bottom margins or display
units when only 1 scale was used.
Venapp Only: READUNCHG and READCIN did not force a new simulation in SyntheSim
mode. Loading a model with SyntheSim active would cause an error. Repeatedly
simulating without leaving a screen could cause buttons to not respond.
5.6 Changes
Unicode
Version 5.6 of Vensim now uses Unicode for all character
encoding with files stored in UTF-8 format. This will only have an impact for
models that use characters not in the standard Latin (English) alphabet. For
working with new models it will allow you to alternative character sets,
including far eastern character sets, much more easily. If you have existing
models that use alternative character sets these will need to be converted. For
models stored in .mdl format you will be asked when you open them if you want to
convert the character set. If you answer yes you will be allowed to select the
appropriate character set to convert from. More details on character sets are
contained in the section on Reforming and Cleaning in Chapter 3 of the reference
manual.
Venapp and DLL Changes (DSS Only)
The Vensim Model Reader will now open published Venapps and
can also be used to open applications developed using the Vensim DLL. Vensim
Application Runtime is no longer required to make use of these. Also, because
the Vensim Model Reader is free software the Vensim Minimal DLL has been
discontinued. The process for providing people with applications using the
Vensim DLL has been changed substantially, and should make it much easier for
the people you send the application to. Chapter 13 of the Vensim DSS reference
supplement discusses the new processes in detail and should be referred to.
Show/Hide (Vensim PLE Plus Only)
Show and Hide are now available in Vensim PLE Plus.
Small Changes
COMLINE entries in custom tables with Tabs in them now scroll.
Using the up and down arrows to show/hide elements no longer
brings up a dialog when all elements are shown/hidden. Instead a message appears
on the bottom of the window for a second.
Bug Fixes
Many index entries in the help files were not opening the
correct help entries.
DLL Only: The Workbench variable returned by vensim_get_info was not being
giving enclosing quote marks when these were required.
(Pro/DSS only) Unsubscripted constant equations with a constant list terminated
in a semi colon were not being detected as errors.
The Stats tool would use the incorrect subset of time when some Time Bases were
chosen.
Datasets (.vdf files) that were the result of runs with floating point errors at
initial time would not move properly between Macintosh/Intel computers.
Exporting Table tool output with a small number of columns would sometimes
result in incorrectly formatted results with values from different rows
appearing in a single row.
Using Reality Check, during the grace period Constraints using > or < (instead
of <= or >=) would be reported as violated.
Excessively small Slider increments in SyntheSim (less then 1e-6of the range)
would result in incorrect values for the constant as the slider was dragged.
Initial cause arrows could be arbitrarily reshaped when switching a model
between hiding and showing these.
Sketches with embedded bitmaps/metafiles would cause problems with pasting and
Undo.
When optimizing the endpoint.tab file might show different values from the
reported results (also the .out file).
Find/Find Again was not working on models using Templates when the variable
being searched for was on another view.
DSS Only GAME>READGVARS|tilltime was stopping early when
the optional tilltime was used.
When importing .xls files containing negative numbers these would sometimes be
read incorrectly as large positive numbers.
Models in directories where the total length of the path was sufficiently long
could cause instability especially with GET XLS… function calls.
Publishing a package that included a file locked by another application would
package a 0 length file.
The work in progress Window could stay open after canceling a simulation which
opened an Excel file.
Excel was not being closed on exit when that option was set.
In payoff definitions, optimization control and sensitivity control files adding
subscripts to a model variable that was not subscripted the added subscripts
would be ignored with no error message provided.
5.5d Changes
DLL Only: The minimal DLL now create a more complete error
history in vensim.err. The multi context DLL now creates multiple error files
named vensim_ctxt0001.err and so on for the different contexts instead of
sending all messages to a single error file (context 0 still uses vensim.err).
In the variable selection dialog a new type "Orphan" has been
added. Select this to get a list of variables that do not appear on any Sketch.
This is useful for building up diagrams when some model variables have not been
included in a diagram.
DSS Only added in the Venapp command SIMULATE>RUNCOMMENT.
You can now select String Variables into the Workbench and use
the Table tool to see their values in different simulations. You can also change
String variables from the Constant changes dialog or by clicking on them in
simulation setup mode.
Not PLE or PLUS. The keyword :AS-RUN has been added for Custom
Bar Graphs that allow you to more completely specify line groupings. See Chapter
15 of the Reference Manual for more details.
Custom Graphs have had a :LINE-STYLE keyword added. The
choices are DOT, DASH, DASHDOT and DASHDOTDOT. You can also just fill in line
width as -1, -2, -3 or -4 to get the same effect.
If you export data with subscript in their own columns in Data
List Format the subscripts are ordered by family, not using the order they
appear in the model. The first row of the file lists the families that are used,
this list is alphabetical. This format should make it easier to import values
into a database. Exporting to other formats is not changed except that the
number of columns exported to a tab delimited format will no longer exceed the
number required to list subscripts when a save list is used.
Changing views to one that has a Workbench tool showing will
no longer change the Workbench variable.
Drag selecting in sketches now includes hidden variables so
the entire are will be moved together.
Bug Fixes
When importing Excel files strings created using a formula
were not showing up.
Dates in spreadsheets were being ignored for GET XLS DATA.
Format strings in custom reports and titles were not being recognized.
DSS Double Precision only: Compiling of models was not
working properly.
DSS Only: SIMULATE>READCIN was reading changes in addition
to changes files specified in the changes list and not relative to the base
model parameters.
DLL Only: The minimal DLL was not reading in model settings (changes and data
files) when opening a model package.
DSS Only: Calibration Payoffs using comparison to data
from an ODBC query were not being recognized.
Sometimes attempting to display custom tables with no datasets loaded would
cause Vensim to hang.
Exporting custom tables with formatted values would export to Excel as the wrong
values.
Adding a variable by dragging the Var sketch tool to a position could result in
a word with a black background color.
Navigation buttons placed over tool output windows were not working.
The Stats tool was not scrolling its output.
Line spacing in the Stats and Table tools could be distorted when other tools
were open.
The Stats tool would sometimes use more data points than the global time axis
setting would indicate.
Undo was not working with sketch elements were moved or sized by selecting them
and using the arrow keys.
(Not PLE/Plus) The function DELAY_CONVEYOR was not returning the correct results
when the delay time was changed. NOTE using resume on a dataset created in
earlier versions of Vensim for models using DELAY CONVEYOR may return spurious
results.
Pasting into a view with an active template could result in an error message
when the model was saved.
5.5c Changes
Template View
You can now designate a view to be the Template view. This
means that the view contents will be displayed in every other view. This is very
convenient if you have created special labeling or navigation controls that you
would like to appear in every view. Instead of copying and pasting the common
elements you can simply put them in the Template view. To designate a view as
the Template view (there can only be 1) use the menu item View>Template View. To
specify whether or not a view includes the template use the menu item View>Use
Template (by default the template is used). Elements from the template are
read-only and the navigation links are active independent of which Sketch tool
is selected.
Models containing a template view that are opened in earlier
versions of Vensim will not display the Template in other views and its marking
as the Template view will be lost, though the view itself will not be changed.
Other Changes
Navigation comments have had a next view and previous view
option added to simplify common navigation setups (especially when using a
Template view).
When Rates are added to or removed from Levels and the
Equation Editor is opened it will attempt to update the equation for the Level.
It will do this if there is only one equation for the Level and that equation is
made up of additions and subtractions of Rates. When a new equation is entered
in this manner the equation will be highlighted and the Cancel button relabeled
to "Revert." Click on Revert to get the previous equation for the variable
A Sketch Tools can be used a single time by pressing the mouse
button on the tool and releasing it at the point you want to apply the tool.
After use the previously selected sketch tool will be reverted to.
Pro/DSS only: The payoff report now includes a list of all
variables (Data, Constants and Lookups) that have sources outside of Vensim
along with the name of the source file. In the case of ODBC inputs the .vdi
control file is named.
The format string in Custom Tables (and also the Table tool)
can be used to add prefixes to numbers. For example you can simply specify $ to
begin each number with $. If no proper formatting string in the form %f or %g
follows the prefix will be added to the Vensim formatted number.
Picture Paste of sketches now adds automatically includes
Shadow variables in the set of selected variables.
Graph legends are set to a smaller font for long legends.
A new option :LINE-COLOR has been added to variables on custom
graphs. Specify the color in red-green-blue format where each component is
between 0 and 255. For example
:GRAPH Test
:VAR profit
:LINE-COLOR 0-255-0
to force a green line. This option is only available when
editing the .vgd file directly – it is not in the graph definition dialog.
Model Reader Only: Time Base can be selected from the Time
Axis control.
Bug fixes
Opening a model from the file manager when Vensim was not open
would sometimes cause a RMS3321 error to be reported.
Model Reader Only: Support for alternative integration techniques was not fully
implemented.
Running SyntheSim on packaged models could cause Vensim to close.
DSS Only: In Venapps - A SETWBITEM command would trigger
callbacks to a SETWB control. TEXTMENU items were losing their highlighting
There were memory leaks associated with editing Venapp screens and loading
toolsets. Editing of Screens containing a SETWB control could cause Vensim to
close when the Venapp was run.
DSS Only: User Venapp or DLL commands to set variable values when the variable
contains an ampersand & would not work.
Starting SyntheSim for models using Excel inputs would sometimes leave a work in
progress window open.
Models using '?...' filenames in GET XLS CONSTANTS/LOOKUPS functions would
sometimes fail to open causing Vensim to close.
5.5b Changes
The Vensim Model Reader has been changed so that when working
with Packaged Models it will load the toolset the packaged model was saved with.
This guarantees that any embedded graphs will display as they do when developed.
The additional tools available also ensure that the custom graphs, tables and
reports are displayed as expected. The number of integration techniques
available in the Model Reader has also been changed to ensure that the
simulation results are the same.
The GET XLS… functions have been redone to be more reliable,
and should be significantly faster on computers using anti-spyware software.
When Excel is required Vensim will wait for it to open before proceeding.
Specifying the Row and Column letters is no longer necessary for international
versions of Excel. These functions will also work when calling the Vensim DLL
from within Excel.
Auxiliary variables with embedded Lookups will now open the
Lookup Editor on their own name instead of their name with ## around it. It is
now also possible to use MODTABLE controls in Venapps on these variables.
DLL Only: The command FILE>MEMFILE will cause memory files
only to be used when doing simulations.
Bug fixes
Models with both TIME_SHIFT and data equations having just a
constant on the right hand side would sometimes give spurious errors.
Custom Graphs with DOTS only could sometimes fail to draw correctly.
Views with embedded graphs could show ghost outlines when auto center was
enabled.
Not PLE/Plus If a backup path was set the backup was not working after the first
save and local backups were made instead.
GED VDF DATA was returning spurious values in SyntheSim
mode. Documentation on usage has also been expanded.
SyntheSim with packaged models would repeatedly give spurious messages about a
run being part of a package.
The wrld3-03.vmf model had some small discrepancies with the book model that
have been corrected, as well as some general cleanup.
Runs containing data variables and discrete delays were not being read properly
when moved between Mac and PC.
Sum functions embedded in the rates of Level equations were causing extra
computations that could lead to spurious error messages.
5.5a Changes
On the table tool with time running across the second and
later runs have the run name shown in the first column as “ : runname” to make
it easier to determine which row is from which run. Same for the Stats tool.
You can now use Ctrl+1 to invoke the first analysis tools,
Ctrl+2 for the second and so on (Shift+Ctrl to lock/unlock). This will only work
for the first 10 analysis tools.
Bug fixes
There was a backward compatibility problem in version 5.5 with
some variables losing their shape. To correct this, open the model in 5.5a or
later and then save it again as a .mdl file (or use Reform/Clean if it is a .vmf
file).
Custom Graphs using subscripted variables were not consistently displaying these
variables.
Canceling when using the Add Variable or Add Shadow Variable tool would cause
Vensim to close. A similar problem would occur when converting a variable to a
shadow variable.
Converting a variable to a shadow variable was not generating an undo action.
Selecting a password protected archive from the bottom of the File menu would
fail to open the archive because of a password mismatch even though no password
had been entered.
Opening an archive in configurations other than Vensim DSS could result in an
error message about external functions even when these were not part of the
archive.
For double precision Vensim DSS models using DELAY… functions could unexpectedly
close during optimization and sensitivity simulations.
The document tool with equation numbering turned on and order by group selected
would skip equation numbers between groups.
Importing data from newer .xls files would miss values depending on options
settings.
Packaging large models could fail with a sub-block allocation error message.
Leading and trailing spaces on quoted variables would not allows be removed
resulting in failure to select these variables into the workbench.
5.5 Changes
Model and Application Archives
The publication of models can now be
done using the menu item File>Publish. This will create an archive containing
the model and support files. This makes it more likely the people receiving the
model will have everything they need to run it, and also allows you more
protection over how the model can be used. See Chapter 19 of the User’s Guide
for more details.
Other Changes
Importing data
from Excel files now supports current versions of Excel. If you open a file with
multiple tabs you will be asked to select the tab to work with.
Speed problems
associated with GET XLS… functions on computers with Microsoft AntiSpyware
installed have been alleviated, though there is still a significant slowdown
when this is active.
When in
SyntheSim mode Vensim now uses memory based files. This speeds performance
especially on computers running antivirus software. You can force Vensim to use
files on disk by selecting this option on the "Sketch" tab of the Model Settings
dialog.
(Not PLE/Plus/Standard)
The slider dialog in SyntheSim, which is opened by clicking on the slider rails,
now has a button to open the constant changes dialog for all elements of a
subscripted variable. In addition is you change the current value and then
select a different subscript the change will be retained and not discarded.
There is no change to the dialog for Constants that are not subscripted.
Not PLE - The
functions GET VDF DATA, GET VDF LOOKUPS and GET VDF CONSTANTS have been added.
These allow you to access results from other models, or imported data, in a
highly controlled manner. For more details see Chapter 4 of the Reference
Manual.
The GET XLS…
functions can now make limited use of string variables as arguments. String
variables used as arguments can’t be subscripted and for CONSTANTS and LOOKUPS
only the model value of the String variable will be used, never a modified value
read via a changes file or SETVAL command. For GET XLS DATA the changes will be
read first and will apply to the data fetch. Also, for GET XLS CONSTANTS you can
specify a transpose by appending a * to the first cell location (see the
Reference Manual for details).
When you change
shape on a word that you have previously sized, the size of the word is left
unchanged.
Unit format and
order is no longer changed when doing Model>Reform/Clean.
DSS Only - For
Java users the venjava.dll file is no longer needed. The Vensim class has also
been packaged in a .jar file (vensim.jar) as com/vensim/Vensim to simplify use
with other packages. The Vensim class is now initialized with the name of the
DLL file to use so that you can direct the calls to use vendlm32.dll by
initializing Vensim with "vendlm32" as the argument. See VensimApp.java for an
example of this. The sample application itself has not been put in a .jar file
but you may want to do so with yours.
Pro/DSS Only –
when the optimizer finds the first floating point error it will report the
parameter values generating it.
Sensitivity and
optimization search constants that are used in data equations will cause an
error to be reported and the Sensitivity Simulation/Optimization will not
proceed. Data equations are computed before simulation begins and changing these
constants has no impact on the computed data. This will prevent anomalous
results.
Exporting
datasets to the datalist format now allows for the insertion of additional
columns.
The wrld3-91
model has been replaced with wrld3-03 which is the updated version used in the
most recent edition of The Limits to Growth.
Bug fixes
DSS Double
Precision Only – the use of DELAY… functions could cause odd numerical problems
such as a level going to a small (positive or negative) number after a delayed
outflow.
DSS Only
MODTABLE in Venapps was allowing the modification of Lookups even after a game
had been started.
Pro/DSS Only –
the text editor was not displaying status on the bottom status bar after
Find/Search and Replace.
Pro/DSS Only –
the function INVERT MATRIX could cause Vensim to close during simulation.
Importing data
from an excel format file with long strings could cause Vensim to close
unexpectedly.
Pro/DSS Only -
Selecting subscript specific variables into the workbench would fail if one of
the subscripts started with a single letter followed by a space.
Pro/DSS Only –
FIND ZERO would cause Vensim to close when passed a number of elements argument
of 0.
Pro/DSS Only -
Options flags were not being properly reset on variables when the options were
removed in the text editor.
Terse format
output for Lookups with reference lines was incorrectly formatting the reference
line causing failure of Model>Reform/Clean.
Use of the
SIMULTANEOUS function with multiple simultaneous loops could lead to ambiguities
in equation ordering.
Variable names
with leading quotes were sometimes being stored incorrectly resulting in errors
reading models.
Clicking on the
quoted variable name in the Table tool would not select it to the workbench.
Not PLE or PLE
Plus - Locking the Table tool could result in Vensim closing with an out of
memory message.
DSS Only – model
compilation would fail when compiling after stopping a simulation.
DSS Only – ODBC
output files would write an entire array even when the save list specified a
subset of the elements.
DSS Only –
selecting the Workbench command in the graphical Venapp Editor would cause
Vensim to close.
Custom Graphs or
Tables with variables containing a comma , would split the variable name up
after saving and reopening the model.
Custom tables
would sometimes cause Vensim to exit when there was no run loaded. Lines
beginning with spaces were also displaying a vertical bar |.
Syntax errors
involving literal strings embedded in expressions were not being caught.
Not PLE/PLE Plus
– string assignments in changes files were not working properly.
Sometimes after
an error reading a .cin file a second simulation attempt would not report the
errors in the .cin file but simply fail to simulate.
Units and
comments on String variables were being lost when models were saved and
reopened.
Not PLE/PLE Plus
– The sketch variable list on the right (when made visible) now allows multiple
selections to add a number of variables to a sketch at once. The variables are
added one below the next wherever you click.
Importing
datasets did not record the subscript count properly for the export of the
dataset to be able to break subscripts up into their own columns.
5.4d Changes
Scrolling, Positioning and Zooming
A number of new shortcuts for scrolling and zooming have been
added. For the scrollable analysis tools (Outline, Document, Table, Stats, Unit
Check and so on) you can use the keyboard to scroll the windows. The arrow keys
can be used to scroll up, down, left and right. The Page Up and Page Down keys
move up and down or, if you hold down the Shift (or Control) key left and right.
When working on Sketches you can now reposition the sketch by
dragging it with the right mouse button, or holding down the Control key (or
Apple key) and dragging. The sketch position will move with the mouse pointer to
the scroll extents then stop moving.
You can zoom in and out of a sketch by holding down the Shift
key and dragging with the right mouse button, or simultaneously holding down the
Shift and Control (or Apple) keys and dragging. When you do this the point in
the sketch underneath the original mouse pointer position will stay in place
while the sketch zooms in or out around it. To increase the displayed size of
the sketch (zoom in) move the mouse pointer up, do decrease it move the mouse
pointer down. Right and left movements do not have any effect when changing the
zoom in this manner.
Both the dragging and zooming on the sketch work regardless of
which Sketch tool you are working with, including the Lock tool. This makes it
easy to navigate around within a sketch as you are editing it and also while
doing analysis or using SyntheSim.
If you have a mouse wheel you can also use this for scrolling
now. The mouse wheel will control vertical scrolling. Hold down the Shift key to
control horizontal scrolling. To zoom in and out hold down the Control key while
moving the mouse wheel.
Exporting and Reusing Game Decisions (Not PLE or PLE
Plus) You can now export a record of all gaming decisions made using
Model>Export Gaming or the Venapp command GAME>WRITEGVARS. You can also, from
the Game Input dialog load those decisions and rerun a game (also available via
GAME>READGVARS). This makes it easier to replicate game results and transmit the
decisions made in a compact manner. See the section Interactive Simulation in
Chapter 8 and the Models menu in Chapter 16 of the Reference Manual. See the
Vensim DSS Reference Supplement for the new Venapp commands.
Pro/DSS Only. Subscripts in Changes Files: The
subscript conventions for changes files have been relaxed. You can use Subscript
Ranges in Lookups and String Variables to change a range of entries. You can
also use more than on Subscript Range. For Lookups and String Variables this
will replace all values with the specified numbers or names. For Constants you
can either use one number to replace everything or just supply a vector of
numbers as long as all the changes – with the last subscript varying most
quickly.
Bug fixes
Evaluation licenses were expiring prematurely.
DSS Only – Button positioning on the subscript control under Venapp was not
right.
Data using :RAW: could sometimes be missed when used in other equations
(dependent on time range for the model).
DSS Only: Venapps using models that had GET XLS… functions would sometimes fail
to open.
DSS Only: Compiling models for SyntheSim would leave a Work In Progress window
open.
DSS Only: Compiling models with FIND_ZERO could generate incorrect results.
Navigation links pointing to outside documents or web pages were being removed
when views were reordered.
Sometimes opening a model would give an extraneous message that another model
could not be open.
5.4c Changes
The override dialogs in SyntheSim mode
now allows you to specify start times for sine waves, square waves, exponential
growth and exponential decay. This allows equilibrium or steady state operation
before injecting the changing input.
The Scaling tab of the Control panel
has an option to freeze scales in SyntheSim for slider motion then change them
when the mouse button is released.
Graph Tool (Not PLE or PLE Plus)
the graph tool options now allow you to suppress legends, or not display legends
for variable and dataset combinations that result in no values. The latter is
helpful when you have a large number of data files loaded, but each contains
only some of the model variables.
The deletion of arrows is now supported
using the Del key.
Pro/DSS only: The logic for
payoff sensitivity testing has been adjusted. Parameter bounds will now return
??? less frequently during payoff sensitivity testing after optimization.
DSS Only: Model
compilation now longer puts up a stop message when compiling but compiles with a
work in progress window and simulates automatically after compilation has been
completed. If there is a problem with compilation the work in progress windows
will remain open (till you close the command window displaying the error message
or click on the Stop button).
Sensitivity Simulation (Not PLE) there
is now an option to show warnings during sensitivity simulations. This can be
useful if you want to detect out of range behavior that might be invalidating
some of the simulations.
DSS Only: In Venapps the
TEST command can be used to test the current date by using *DATE* in place of a
variable name. See the DSS Reference Supplement for details.
Bug fixes
DSS Only – ODBC Connectivity - :FIELD
entries associated with :SELECT statements were being ignored.
Repeated deletion of variables from inside the equation editor could cause
Vensim to close.
Checking a model with an empty reference mode would open an empty equation
editor.
Undoing a variable addition followed by other editing activity could corrupt
other variable names in the model.
Pro/DSS Only: Models using FIND_ZERO or Kalman filtering could give somewhat
inconsistent results during optimization and sensitivity simulations.
Clicking on NewGS in the Graphs Tab of the control panel and then canceling
would create an empty graph list without any associated graphset file.
Tooltips were being obscured by the pointer.
The document tool was not displaying text in color.
The Layout menu items for horizontal and vertical spacing were not grayed when
fewer than 3 items were selected.
Pro/DSS only: Selection into the workbench of items containing quoted subscripts
was not working correctly.
Pro/DSS only: Subscripted models using the ALLOCATION and similar functions
could sometimes generate erroneous error messages when simulating.
5.4b Changes
VECTOR RANK
function (Professional and DSS only) has been added. This function gives the
rank order of each element in vector starting with 1. When two elements are the
same they are arbitrarily assigned consecutive rankings. The order argument
should be positive to rank the smallest as number 1, and negative to rank the
largest as number 1.
Variable Count for Compiled Models
(DSS Only). In the advanced tab you can now set the number of variables output
to each C function in mdl.c. This must be a number between 20 and 2000. Setting
a smaller number may decrease compilation time with optimizing compilers, but
will increase it with non-optimizing compilers (it may also slow runtime with
non-optimizing compilers). The new default value of 100 seems to work well with
optimizing compilers.
Bottom Toolbar Font
PLE, PLE Plus only. The Options>Options dialog now allows you to change the font
on the bottom toolbar.
Table output scrolling
has been modified so that the beginning of the current output is never scrolled
off the window. For Custom Tables this means they will always be positioned at
the top. For Table tool output the first line of the current display will appear
at the top if all of the current output does not fit.
Custom Table
comment lines can have leading spaces. This will work automatically in the
dialog based editor, or just put a vertical bar | to indicate the beginning of
leading spaces when editing the table definition file.
Bug fixes
Vertical rescaling was placing everything in the same place.
Font overrides in Vensim PLE and PLE Plus were not persistent.
Changing a variable to have no attributes (bold, underline etc) would sometimes
not be retained when a model was reopened.
Searching for pattern* would not find variables with nonstandard characters.
Nonnumeric weights in policy payoffs were not being recognized.
The ALLOCATE AVAILABLE and related functions were not working properly on the
Macintosh.
The loops tool was sometimes reporting loops with variables only connected by
initial conditions.
Printing and exporting in SyntheSim mode would fail to include the sliders.
DSS Only using GETCNSTCHG with a subscripted variable was not working if the
subscripts were included with the variable name.
PLE/PLE Plus overriding constants in SyntheSim resulted in variables that
graphed incorrectly.
The Edit menu in Vensim PLE on the Macintosh was not being properly updated for
Undo/Redo or Copy.
Professional/DSS – simultaneous equations were being incorrectly detected in
some models using vector functions.
(DSS
only) Constant changes read in through ODBC were overriding interactive changes
made to constants.
(Pro/DSS Only) Parameter percent sensitivity was using bad values for 0 values.
5.4a Changes
Version 5.4a completes the ability to create control panels
with PLE and also corrects a number of minor problems.
View>Rescale has replaced the old View>X Rescale and View>Y
Rescale and provides more choices for adjusting size including the adjustment of
word sizes and all positions both horizontally and vertically. The Rescale
dialog allows you to select scales. See Chapter 5 of the Reference Manual for
more details.
Note that when moving from one computer to another you may be
asked if you want to rescale views – this can be helpful for maintaining word
wraps.
5.4 Changes
The most significant changes in Version
5.4 relate to Vensim PLE which has had Input Output objects added (see Chapter
12 of the User’s Guide) and Vensim PLE and PLE Plus which now both have the
ability to override variable behavior during SyntheSim (see Chapter 13 of the
User’s Guide).
Vensim PLE Plus has also had two new
analysis tools added to help analyze Sensitivity Simulations. The first is the
Sensitivity Graph tool configured to display individual traces, and the second
is the Bar Graph tool configured to display histograms across simulations at
special time. These should improve the ability to analyze sensitivity
simulations.
The majority of remaining changes in 5.4
are bug fixes related to model resume, data equations, ODBC connections to SQL
Server and problems with the variable rename function.
In Vensim DSS Only the Venapp command
TIMEAXIS>TIMEBASE|timebasename
Has been added to allow you to set the
time base that will be used for graph display and also for interpreting the @
time when fetching variable values.
5.3a Changes
Online Forum
and Version Checking (not Macintosh)
Two commands
have been added to the Help menu. Help>Online Forum takes you to an online forum
in which you can post queries about Vensim and dynamic modeling in general. The
forums can be read by anyone but you will need to create a user name and log in
to actually post things. The second command Help>Newer Releases checks to see if
the version of Vensim you are using is the most current. Both of these commands
work by opening the default web browser and you will need an active connection
to the internet to use them. Neither sends any information beyond the current
Version number of the copy of Vensim you are using.
Modifying
Variable Names
A new menu item
Edit>Modify Names has been added to the menu that will allow you to globally
change variable names by substituting strings within them. This can be useful
after a copy and paste operation in order to line up variable names more closely
with their intended representation.
Windows
Explorer Behavior
(not Macintosh)
Vensim has been
modified so that when you click on a model in Windows Explorer with Vensim
already open, that model is open in the current instance of Vensim rather than a
new instance. You can still open a second instance of Vensim if you like by
selecting it from the Start menu.
WIP Graphs
(Not PLE)
The automatic
display of Work in Progress graphs is now optional, and off by default. To
enable display check "Open WIP Graph on Sim" on the Graphs tab of the Control
Panel. If you have embedded a WIP graph in a sketch it will continue to display
during simulation. It is only the creation of new graph windows when there are
no embedded WIP graphs that is prevented.
Equation
Editor Navigation (Standard, Pro and DSS only)
A previous button <-- has been added to the navigation buttons on the Equation
Editor. This is useful to return to the equation you were last editing after
going to a new equation with Hilite or Sel… (renamed from Choose).
Undefined
Subscripts (Pro and DSS only)
When subscripted variables contain some elements that are not defined those
elements will not have values. By default the analysis tools will display the
names of the subscript elements, but no values. If you would like to suppress
this and only see those subscript combinations that are defined check the "Skip
Undefined" checkbox at the bottom of the subscript control. Note that if none of
the currently selected subscripts elements are defined this may result in the
display of a subscript combination that is not selected.
Editing
Subranges (Pro and DSS only)
There is not a button on the Full version of the subscript control (Click on
"Full" on the Subscript Control dialog) that will allow you to go to the editor
for a Subrange. Just click on the Subrange and then click on the "---" button to
edit.
Command
Changes - DSS Only
A number of
commands have been added to make it easier to work with Sketches in Venapps
SKETCH>SHOWBEHAVIOR|skid|1 or 0
Turn on and off
the display of behavior on the sketch. Note that when SyntheSim is active this
will have no immediate effect since behavior is always shown in SyntheSim mode.
SKETCH>SHOWHIDDEN|skid|n
+ or –
Change the level
to which to show hidden elements. You can use + and – to increase or decrease
it, or specify the level as a number.
SKETCH>SYNTHVISIBLE|skid|O
After entering
SyntheSim mode you can specify that you want to restrict the simulation to the
variables currently visible in the sketch. Combining this with SHOWHIDDEN allows
you to demonstrate the impact of adding structure.
SKETCH>RUNVISIBLE|skid|O
This command is
used in place of MENU>RUN when you want to restrict the simulation to variables
currently visible on the sketch. Similar to SKETCH>SYNTHVISIBLE but for non
SyntheSim simulations.
The above
commands work with the Vensim DLL and the MSVC60 example has been modified to
show this. Even if you do not have a C compiler you can run VenMFC.exe in the
MSVC60 subdirectory of the DLL directory to see how this looks.
5.3 Changes
Hiding, Layered Presentations and
Simulation (Not PLE or PLE Plus)
The number of depths that variables can be
hidden to has been increased to 16. The up and down arrow keys can be used to
change the current hide depth being shown. When the Magic Wand is selected the
depths change one at a time. If the other tools are selected, however, the
depths will change so that there is a visible difference (if nothing is hidden
they will just toggle between Hide/Show).
To create a layered presentation use the
down arrow to hide things, then click on the Hiding Magic want and use the up
arrow to go to hide level 16. Click on the last things you want to disappear,
click on the up arrow to move to hide level 15 and click on the second last
things you want to disappear and so on. Once you have finished click on the Lock
tool and then the up and down arrow keys will move through the layered
presentation skipping the extra hide levels in between.
You can also cause Vensim to simulate only
the structure that is currently visible. This is done with the menu item
Models>Partial Simulation>Visible variables. In SyntheSim mode this will cause
SyntheSim to be performed only on the subset of the model currently visible. The
up and down arrow keys can then be used to expose structure and, simultaneously,
indicate the behavior change that results from the additional structure. You
can also use this as a method to make more or fewer sliders available for
adjustment.
Note that restricting simulation to
visible variables means that any variable not defined on the current View will
be held at its initial value. This includes Shadow variables. This is a
convenient way to isolate behavior to the structure you are currently working
with, but may require some reorganization of View contents to convey your
message.
Sensitivity Simulations (Not PLE)
Two new options have been added to
sensitivity simulations. The first, “Latin Grid” does a grid search other the
probabilistic distribution of the various parameters. This is much like running
a multivariate vector search but allows for non-uniform distributions of
parameters so that the parameter space is sampled more coarsely in the
probability tails.
The second, “File” allows you to specify a
file of constant changes. This file must be tab delimited with a list of
constants across the top and the values in the lines that follow. The
simulations will continue through the end of the file. This allows you to use
any parameter drawings you desire as inputs to the sensitivity analysis.
Cut and Paste (Not PLE or PLE Plus)
When pasting structure you can now specify
a prefix and suffix that will be used when renaming variables. This, allows, for
example, the use of sector names to keep variables coherently named and can
remove some of the tedium of renaming the variables that would have ended in 0,
1 and so on. If, after using the prefix and suffix the variable name is still
not unique Vensim will continue to add the numeric suffixes.
Navigation Controls (Not PLE)
The navigation links have been generalized
to allow you to switch models, open other files and access web sites in addition
to moving around within a model. Vensim recognizes several file types so that
opening a .mdl or .vmf file will open the model, a .vdf file will set the run
name and start a simulation, a .cin file will read in changes, a .vgd or .vgf
file will load the graph definitions, while .vts and .sts files will load the
toolsets.
(Not Macintosh) For other file types
Vensim will pass the information to the system Shell and attempt to open the
file based on association. For example a .xls file would normally be opened
with Excel. To open a web site just enter the full address (http://www.vensim.com
for example) and clicking on the navigation link will cause the default browser
to open at that web location.
(DSS Only) For external files, this
functionality is available inside a Venapp using the FILE>SHELL|fileorwebsite
command. For internal file types there are already commands to do the various
things. Referring to a .html file can be used as an alternative to the SPECIAL>WINHELP
command.
Export Formats
A Data List format has been added for
exporting. This creates a tab delimited file with data in the format
Variable Time Value
or, if you select to show subscripts in columns,
Variable
Sub1 Sub2 Sub3
Time Value
This format makes it easier to read the
data into databases and also to create Pivot tables. To get the data list format
just select it in the export control dialog or, as a command use VDF2DLIST. The
default extension on the file created is.txt.
Suppressing Sliders in SyntheSim
If you set the minimum and maximum equal
for the range of a constant in the equation editor no slider will be created for
that constant in SyntheSim mode.
Graph Definitions
The keyword NO-LEGEND now works with bar
graphs to suppress the legend, title or bar labels.
Escape Sequences and Far-Eastern
Characters
In addition to using \" to represent
double quotes in variable names you can now use \\ for a backslash and \_ for a
hard undebar _. A backslash \ by itself will also appear as a backslash unless
it is followed by a \ " or _. These changes will prevent some problems that
occur with double byte character sets.
If you are using a double byte character
set be sure to check the option in Model>Settings>Sketch. Note that some
variable names may appear incorrectly in the equation editor because of the use
of escape sequences. Do not change these names in the equation editor; they
should appear fine in the sketch and on output.
An option has also been added there to use
hard underbars. Normally Vensim treats underbars and spaces as the same thing.
If you want one or more explicit underbars in a variable name, check this option
on the Model>Settings>Sketch dialog and then create or change the variable name.
This setting only influences editing, it does not have any effect on the
existing model.
Tool Font Face (PLE and PLE Plus)
You can now set Font Face to be used in
tools (and the default Sketch Font Face) from the Options>Options dialog. This
is useful is you prefer something different from Times New Roman, or if you need
a face that will consistently display information (for example a Cyrillic font).
5.2a Changes
Vensim version 5.2a consists largely of
small corrections and adjustments. Most of there are related to reference
modes. Problems with the use of Reference Modes in PLE have also been fixed.
Reference Modes
The reference mode tool operation has been
modified somewhat to work more smoothly. See the revised Chapter 20 in the
User’s Guide.
NOTE: If you open a model containing
reference modes in an older version of Vensim the reference mode information
will be lost. The model itself will work and the datasets (.vdf) files
associated with the reference modes can still be used.
ODBC (DSS Only)
For variable names that contain non
standard characters (eg R&D) Vensim will automatically put quotes around the
name even if it does not have quotes in the database. In the UPDATE and INSERT
commands you can specify a #literal for VARNAME and this will suppress the
variable name. This is useful when you want to update specific records that do
not contain variable names. The same can be done with the :SUB entries.
5.2 Changes
Reference Modes
Vensim version
5.2 allows you to capture and display reference mode behavior right on the model
diagrams. By clicking on the new Reference Mode sketch editing tool you can
graphically input reference modes for any dynamic model variable. This can be
used both to capture reference modes in the conceptualization phase of model
development and to work in mental integration skills by specifying patterns of
behavior for rates and viewing the levels that result via simulation. Chapter
20 of the User’s Guide, which is in preliminary form, provides examples of how
to use reference modes in model development and for learning integration skills.
There is an
additional tab on the model settings dialog that allows you to manage reverence
mode data including importing and exporting it.
We have made
some significant expansions of the capability of Vensim PLE in version 5.2.
Vensim PLE includes the ability to use reference modes and that means that users
of Vensim PLE can now make use of data. Though the ability to use data adds a
small amount of complexity this is a small distraction given the benefit of
having access to reference mode editing. The other major addition to Vensim PLE
is support for multiple views. The restriction of a single view, instead of
encouraging people to keep models simple, has ended up pushing people to have
very complicated model diagrams. This is not good modeling practice and
hopefully allowing multiple Views in PLE will alleviate this problem. We would
still encourage you to keep your models as simple as possible.
Other Changes
(Not PLE or PLE
Plus) The Bar graph now has an option to sort the bars either ascending or
descending by value relative to one of the loaded runs (normally the first would
be used, but there is that flexibility). Use the dropdown box in the options
for the Table tool. For custom tables the keyword :SORT has been added. Follow
this by -1 to sort decreasing on the first dataset, 1 increasing on the first,
-2 decreasing on the second and so on. If you ask to sort on a dataset that is
bigger than the number loaded the last loaded dataset is used.
Custom Graph
naming convention. The names of custom graphs are no longer presented all
capitalized, but mixed upper and lower case is allowed. Spaces are still
converted to underbars and, like model variable names, the names are case
insensitive so you can’t create two graphs with names differing only by
capitalization.
(Professional
and DSS Only) The Advanced tab of the options dialog has two new entries.
(DSS Only) The
ODBC connectivity has been modified to speed up data access and also to increase
compatibility with databases running on computers with alternate number
formatting settings (commas for decimal markers and so on).
5.1b Changes
Image copying has been adjusted to provide the older format on
Windows versions before 2000 to correct scaling issues. The GET XLS LOOKUPS
function has been corrected to fetch live values before each simulation.
(Not PLE or PLE Plus) The Changes tab of the simulation
control dialog has been modified to allow you to write out the values of All
constants and Lookups in the current simulation setup, this is in addition to
just those that have been changed. This is primarily intended as a technique for
more completely documenting a simulation run.
(Professional/DSS Only) The new multiple start type RRandom
has been added. This is the same are Random, but also changes the initial search
order for Powell optimizations. The optimizer has also been changed to reject
any initial search points that result in floating point exceptions and an option
has been added to cap the number of simulations performed during an
optimization.
(DSS/DLL Only) The SIMULATE>SPREADALIAS command has been added
– see the DSS Reference Supplement.
New Allocation Functions (Pro/DSS Only)
We have generalized the allocation logic of the ALLOCATION BY
PRIORITY function to allow for different prioritization shapes, and more
control. The new functions are ALLOCATE AVAILABLE, FIND MARKET PRICE, DEMAND AT
PRICE and SUPPLY AT PRICE. These functions are described in Chapter 4 of the
Reference Manual and also in Appendix E of the Reference Manual.
5.1a Changes
Copying Images
With version 5.1 on some computers copying
a sketch or the contents of a graph would cause only a portion of the image to
be visible. This problem has been fixed in 5.1a.
Get XLS/123 Indirect File References
(Not PLE) The spreadsheet functions all
take as their first argument the name of a file and this means that renaming the
spreadsheet file requires changes to all the functions. You can now indirectly
specify a file by using a blank name or a question mark ? at the beginning of
the filename. The tag following the ? will then be associated with a file. This
association can be made from the “XLS Files” tab of the Model Settings dialog
(Model>Settings). If the association has not been made, or the associated file
no longer exists, you will be prompted for a file when you simulate the model.
NOTE You can specify more than one file
indirectly. For example you might have '?Data' for use with data equations and
'?Constants' for use with constant equations.
(Not PLE or PLE Plus) If Vensim needs to
open Excel in order to access data you can now set a switch to have Vensim close
Excel when Vensim closes. To do this check “Close Excel when exiting Vensim”
in the Startup tab of the Global Options dialog (Tools>Options). If excel was
already open it will not be closed. Excel may display a dialog if any of the
files opened in it are marked as changed.
Small Changes
The zoom setting of sketches is now
recorded view by view. This makes it easier to set the appropriate zoom for
different parts of a model.
The Fonts2 tab of the Global Options
dialog has had another button added to change the font appearing in the
toolbar.
The optimizer now reports the number of
floating point exception simulations that occurred during an optimization.
(Not PLE) It is now possible to import
datasets with more than 32,000 data point in a data series.
(DSS and Pro only) The maximum line length
in the Text Editor has been increased to 510.
A hard limit of 255 characters has been
established for variable names.
(Not PLE or PLE Plus) You can now choose
to hide all shadow variables appearing in all views (Models>Settings>Sketch
Appear).
(DLL Only) Some additional options have
been added for fetching information about variables, including the type. See
the Chapter 12 of the DSS Reference Supplement for more details.
5.1 Changes
There are two major areas of changes for
version 5.1. There first is the addition of a number of functions that are
useful for doing financial computations in models where time can be in different
units than those used for the financial computations. The second, which is for
Vensim DSS only, is the addition of input and output capabilities using ODBC
which simplify the integration of Vensim models with databases. There have also
been a number of smaller changes and fixes applied.
Financial Functions (Not PLE or PLE
Plus)
Financial functions operate on a fiscal
period that can be different from both the time the model is written in and TIME
STEP. During this fiscal period most of these functions accumulate the input
and then use the value based on the total over the fiscal period. At the same
time the return values of the functions also depend on the current value of the
inputs. In this sense the variables they create are Auxiliaries, but they are
Auxiliaries with memory. The added functions are DEPRECIATE BY SCHEDULE to do
financial depreciation over an irregular schedule, DEPRECIATE STRAIGHTLINE to do
straight line financial depreciation, INTERNAL RATE OF RETURN, to compute the
internal rate of return on an income stream and NET PRESENT VALUE to compute the
net present value with explicit accumulating on fiscal periods (the existing NPV
and NPVE functions use a fiscal period equal to TIME STEP which is not always
desirable).
Detailed descriptions of these functions
are available in Chapter 422300>Window
of the Reference manual.
Data Functions (Not PLE or PLE Plus)
Several new data functions have been added
that allow the retrieval of information about data series. These are useful
when you want the model to know something about a data serial. Like the other
GET DATA… functions they are relatively slow and would normally be used in
INITIAL equations. The new functions are: GET DATA MAX, GET DATA MEAN, GET DATA
MIN and GET DATA STDV. Details on these are available in
Chapter 422300>Window
of the Reference manual.
Getting Lookups from Excel (Not PLE)
In addition to getting values for
Constants and Data from excel you can now retrieve values for Lookup using the
function GET XLS LOOKUPS. This function takes the same arguments as GET XLS
DATA, but retrieves values for Lookups. Like GET XLS CONSTANTS it reads the
spreadsheet when doing model checking and again when simulating. For those
using 123 there is a function GET 123 LOOKUPS to get values. Details in
Chapter 422300>Window
of the Reference manual.
ODBC Connectivity (DSS only)
ODBC or Object Data Base Connectivity is a
standard protocol for transmitting data to and from different databases. Most
databases, including Access and Oracle, have ODBC drivers which means it is now
easy to communicate with the data sources. ODBC connectivity is described in
Chapter 1414_Connecting_to_Databases_with_ODBC>Window
of the Vensim DSS Reference Supplement.
Command Additions (DSS only)
SPECIAL>RUNCOMMAND|commandfile
Use this from within a Venapp or a command
file to run another command file or execute and ODBC output (.vdo) file. Vensim
will determine which of these to do based on the file extension.
Automated Script Running (DSS only)
The Simulation Control dialog has had a
new tab (Pre/Post) added that allows you to specify command scripts for
pre and post processing. The Pre Processing script will be run before the
simulation is made. You can specify more than one script by separating them by
commas. This could be used, for example, to automatically convert a data file
to a .vdf file before a simulation is started.
The Post Processing script will be run
after the simulation is completed. In this field you can specify one or more
command (.cmd) or database output (.vdo) files that will be executed
automatically after a simulation is completed. This makes it easy to write
results to a database and also to automatically export results to text files
after a simulation is run.
Small Changes and Fixes
Ctrl+B can be used to turn SyntheSim mode
on and off (just as B can be used to toggle the display of behavior on and off).
Payoff reports now have the same name as
the run. Thus for each optimization there will be a runname.vdf file
with the final simulation, a runname.out file with the final parameters,
a runname.log file with the message history and, if requested, a
runname.rep file with the payoff report.
An external function can now be defined to
be a lookup definition function.
The Lookup Editor now displays the graph
for the lookup in Blue instead of black to more easily distinguish it from the
background grid.
The use of :LOOK FORWARD: was returning
the next data value at times for which a data value existed instead of the data
value. This was not consistent with the documentation and has been corrected in
version 5.1.
When an optimization is performed in
addition to the runname.out file that shows the results of the optimization a
runname.log file is created that shows output that goes to the error window
during optimization. In addition, for particularly long optimizations, the
output to the windows will be truncated and that information will only go to the
log file. Also, the .out file with intermediate results is updated periodically
during the optimization in case there is a power or other failure that prevents
a clean closing of Vensim.
5.0c Changes
Version 5.0c contains a number of bug
fixes and small changes. Some adjustments have been made to the new graph
styles and these can now be used as work in progress graphs.
European Style Numbers
(Not PLE or PLE Plus) An option has been
added to display numbers in European format (xxx.xxx.xxx,xx) on the Settings
tab of the Global Options dialog (Tools>Options). Numbers will be displayed in
the selected manner on tabular and graphical output. Note that all input, and
sliders used during SyntheSim, will still use a period . for the decimal
divider.
(Not PLE) When numbers are exported to Tab
delimited files there is also a new checkbox that will allow you to select
European number format. This should make it easier to bring the numbers into
spreadsheet programs.
Note that because of the syntax of the
Vensim modeling language, with commas separating arguments in functions, it is
not possible to use a comma as a decimal place throughout. Thus, while Vensim
will still require you to be numerically facile, the above changes should make
it easier to show work to others who are not.
Clipboard Format for Exporting
Export from tables now puts information
into the clipboard in a native Excel format in addition to the text format.
This will make it easier to import information into Excel, especially for
European language versions. If the older text format is preferred use the Paste
Special command from the receiving application.
Analysis Tools for PLE, PLE Plus and
Model Reader
An additional analysis tool – Table Time
Down – has been added to Vensim PLE, PLE Plus and the Model Reader. This tool
makes it easier to view and copy data from models with large numbers of times.
This tool is also contained in the built in toolset for the other
configurations.
Units Checking from Equation Editor
The equation Editor now has a button
labeled Units: that can be used to check the units of the current equation. If
the units are OK then a message will appear at the bottom of the dialog saying
so. If there is a problem with units on the right hand side of the equation a
message stating this will appear at the bottom. For details on the error you
will need to use the Units Check function. If the right hand side units can be
determined, but do not match the units specified a message will be displayed
asking if you want to replace the current units with those indicated by the
right hand side. If there are no units currently specified and the units for
the right hand side of the equation can be determined these will be inserted as
the current units.
Subranges in the Equation Editor
(Professional and DSS Only)
When subranges appear on the left hand
side of an equation and new variables are added to the equation the Equation
Editor will attempt to match those subscripts to what appears on the left of the
equation. This should decrease the number of times it is necessary to overwrite
the subscripts automatically put in.
Format Specification in Table Tool (not
PLE or PLE Plus)
In addition to the Pretty/Scientific
choice you can now specify the format for output from the Table tool. Just
enter the C formatting string in the options dialog. Typically you would want
to enter %.4g for 4 significant digits, %.5g for 5 and so on. This can be handy
if you want to control the number of digits displayed.
5.0b Changes
Version 5.0b includes a number of bug
fixes and small changes along with a preliminary form of the new custom graphs.
Custom Graphs
Version 5.0b includes a number of new
representations for custom graphs including 3d Graphs, Ribbon Graphs and Area
Graphs. These can be accessed from the Custom Graph editor by selecting a
different graph type. For example the type Ribbon displays as:

The new custom graph formats are in a
preliminary form. There are a number of scaling, margin and font size issues
that need to be addressed. In addition, the graphs can’t be used for the
selection of workbench variables. We will also be redoing the graph definition
process in the next Vensim release to allow more control over graph appearance.
Nonetheless, you can still get some pretty nice results with the current
definition interface.
The new graph formats are both backward
and forward compatible. A graph defined using a new format will be displayed in
the old custom graph format in older Vensim versions. While the layout and
proportions of the graph elements may be slightly different in future Vensim
releases, the graph content will be the same.
Other Changes
Bitmaps can now be placed onto a Sketch
View directly from a .bmp file rather than by going through the clipboard. In
addition, Vensim now maintains the original bitmap image file size, rather than
the large files that it used to create. If you have an existing model with
embedded bitmaps you may wish to bring those in again to reduce file sizes.
(NOT PLE) Added the menu item “from .dat
format” to the Model menu to allow importing data files laid out in the .dat
format but having different extensions (such as .err). This simplifies
loading of report output files created during optimization.
(DSS & Professional only)Variables
specified in savelists can now use Subscript Ranges to save parts of a
Subscripted variable. Similarly, Custom Tables use subscripts the same way
Custom Graphs do.
(DSS only) Note that the installer no
longer associates .cmd files with Vensim as this file type is a system
file type for Windows NT/2K/XP. If you want to restore .cmd files to
their system default use the regedit program to change the association of .cmd
under HKEY_CLASSES_ROOT from “Vensim.script” to “cmdfile”. If you want to start
a script you will need to start it from within Vensim or by passing the name of
the command script when starting Vensim.
5.0a Changes
The most important changes in 5.0a relate to the
documentation. A new chapter has been added to the Reference manual, two
chapters in the modeling guide completed, the User Guide cleaned up and the
graphics corrected for proper screen presentation. A number of bugs and
annoyances have also been cleaned up in the software.
When a floating point error occurs in SyntheSim a message will
appear in the status bar at the bottom indicating what has happened. This is
helpful for understanding why the graphs are behaving unexpectedly.
When creating custom Stack Graphs you can specify how many
variables you want stacked. The remaining variables will just be graphed as
ordinary variables.
(Not PLE or PLE Plus) The simulation control dialog now has a
Set button. Clicking on the Set button will start or return you to Simulation
Setup mode.
(Not PLE or PLE Plus) The Bar graph options dialog has changed
and will also allow you to construct histograms across subscript ranges.
(Not PLE or PLE Plus) In the equation editor you can use
Ctrl+PgUp and Ctrl_PgDn to mover from one variable to the next. Ctrl+ and
Ctrl+ move between equations for variables with multiple equations.
With Vensim 5 you can synthesize model structure and
simulation behavior - we call this feature SyntheSim for Synthesis of
Simulations. Vensim allows you to see the results of simulations superimposed on
the model diagrams and instantly updates these displays as you change model
Constants and Lookups. SyntheSim requires a simulatable model, but you don't
need to do anything special to it. Just click on the SyntheSim Icon ( ) or
select SyntheSim from the simulation control dialog. Once you do this you will
see small graphs over all dynamic variables and sliders will be created for all
the constants. As you move a slider the model will be simulated and the graphs
automatically drawn.
You can also view behavior without entering SyntheSim mode by
selecting the Show Behavior menu item on the View menu. This will display
whichever runs are loaded and can be left on as you build and make adjustments
to the model. This is also useful for very large models that are too big to use
in SyntheSim mode.
SyntheSim Options: You control the behavior of SyntheSim
graphs from the Scaling Tab of the Control Panel. Colorize, if checked, will
cause SyntheSim graphs to flash Red when the scale is expanding and Blue when it
is contracting. Freeze, if checked, will cause the scales to stay unchanged
until the mouse button is released. Include 0, if checked, makes sure that 0 is
in every SyntheSim graph. Finally the Buffer Mult determines how much rescaling
occurs when it is necessary to expand the scales as well as the threshold for
contracting the scale. For big models there is an option to prevent simulation
except on button releases. This is set from the Sketch Appearance tab of the
Model>Settings dialog.
Changing Structure (Not in PLE): In addition to making changes
to Constants and Lookups SyntheSim makes it very convenient to cut feedback
loops. Just pick a variable that you would like to change and click on it with
the right mouse button (or Control-Click on it). A dialog will open allowing you
to make changes.
Uncheck Override normal behavior to have the variable revert
to normal behavior, or select one of the Input TimeShapes desired. Note that any
variable can be turned into a constant with a slider, but this selection will be
grayed for constants since this is their normal behavior. Depending on the type
of shape you will also need to parameterize the shape.
You can make the variable behave like a constant, or force a
time pattern of behavior on it. You can also use this technique to turn
constants into time varying inputs.
Check on the Freeze Levels at initial values button to study
the local responses (no feedback) to variable changes. You can change the
behavior of as many variables as you wish.
Runs: The SyntheSim graphs display values from all the loaded
runs. You can load, unload and reorder runs from the Control Panel at any time.
If you want to keep the currently displayed results just change the run name to
begin storing to another dataset. As you type in the run name you will see a
marker if the run name you are typing matches an existing run name.
Subscripts: For subscripted variables the subscript element
displayed is determined by the first selected subscript in the Subscript
Selection dialog. As you change the subscript selection the values displayed
will change.
Single Clicking
With the exception of the Text Editor, single clicking is now
used universally for selection. When working with tool output you can still
highlight a portion of a variable by dragging over it and the selection will
occur when you release the mouse button.
Sketch Sizing
Sketch sizing of variable names and shapes is now continuous
and anchors the upper left (top center for some shapes and center for rates)
instead of the center. This makes it easier to adjust sizes and also allows you
to see the word wrapping that will occur as you adjust the size of the shape
around a variable.
Related to this the Run name window on the top toolbar is
larger and may resize when you adjust Vensim's window size.
Model Comparison
On the Model menu select Compare To... to compare the model
you have open to another model. This is a useful way of seeing small changes in
model structure, equations or comments. The output is a simple report listing
the changes that have been found.
Delay Dashes
The delay markings on arrows are now rendered as double dashes
to make them more consistent with standard practice.
Function List (in Equation editor)
The function list in the equation editor now displays
arguments when you click on a function name. To bring the function name into the
equation click on the Add Sel button or press the Enter key.
Model Setting
This dialog has been rearranged somewhat.
The NPV function has changed and there have been a number of
new functions added.
NPV(s,r,ini,m)
The NPV (Net Present Value) function has been changed so that
the reported value includes the current activity. That is NPV(income,.1,0,1)
used to start at 0 and will now start at income*Time Step.
NPVE(s,r,ini,m)
The NPVE function is the same as the NPV function except that
it values the stream at the end of each interval and treats intervals as
discrete. This function computes NPV the same way Excel does and so may be
easier for some purposes.
DELAY_BATCH(in,bs,bt,ibs,ibo,ibl) causes a batch delay of the
input in which will cumulate until it is at least as big as the batch size bs at
which time it will begin processing to be released at Time+bt where bt is the
batch time. While a batch is in process no other batches will begin processing.
If the initial batch size ibs is positive then it will initialize with that
batch in process and release it at the initial batch output time ibo. Note that
if ibo is less than or equal to INITIAL TIME the initial output will be ibs. You
can use the initial backlog ibl to specify material initially available for
processing but not in process.
DELAY_CONVEYOR(in,t,lr,ip,iq,it) creates a conveyor of the
input in with conveyance time t and leakage rate lr. Leakage occurs across all
material in the conveyor, including that which has just come in. The initial
profile of material is specified by the lookup ip with iq giving the initial
total quantity of material in the conveyor. it specified the initial conveyance
time and should almost always be the same at t. You can change t to speed or
slow the conveyor.
GET DATA AT TIME(D,T) The value for the data variable D at
time T or :NA: if not available.
GET DATA BETWEEN TIMES(d,t,im) Returns :NA: if t is before the
beginning or after the end of the data series, otherwise returns value. If im is
-1 it returns the value that occurs at a time less than or equal to the
speficied time, is im is +1 it returns the value at a time greater than or equal
to the specified time and if im is 0 it returns an interpolated value. Note that
a data value occuring within 1/2 of a Time Step of t is treated as occuring at
t. If t is :NA: the first datapoint is returned.
GET DATA FIRST TIME(d) Returns the time for the first data
value in the data variable d.
GET DATA LAST TIME(d) Returns the time for the last data value
in the data variable d.
GET DATA TOTAL POINTS(d) Returns the total number of data
points for the data variable d.
LOOKUP INVERT(look,y) Returns the value of x which, when
passed through the lookup look would return y. If no value of x would generate y
then :NA: is returned so it is important to test this output. If multiple values
of x would generate y the smallest value will be returned.
LOOKUP SLOPE(look,y,mode) Returns the slope of the lookup. If
mode is -1 then NA is returned outside the Lookup’s domain. If mode is 0 then 0
is returned out of the Lookup’s domain.. If mode is 1 then the first slope is
reported below the Lookup domain, and the last slope reported above it.
VECTOR SORT ORDER(a,d) Returns the order that the elements of
the vector a must be arranged in to be increasing (if d is +1) or decreasing (is
d is -1). This is useful for finding the index of the biggest or smallest
element and also for reordering a vector using the VECTOR REORDER function. For
example
company : (c1-c5)->scompany
scompany <-> company
so[scompany]=VECTOR SORT ORDER(revenue[company],1)
minrev = VECTOR ELM MAP(revenue[c1],so[c1])
maxrev = VECTOR ELM MAP(revenue[c1],so[c5])
sorted rev[scompany] = VECTOR REORDER(
revenue[company],so[scompany])
Note that it is not necessary to use the subscript scompany in
the above example, all the equations could have been written with company and
the results would have been the same. The use of scompany was to emphasize that
the meaning of the order has changed.
The values returned are 0 based so that they can be used with
the VECTOR ELM MAP function. That is, the first entry is the number of steps
from the first element of the underlying vector to the position of the
minimum/maximum element.
VECTOR REORDER(a,so) Sorts the elements of the Vector a
according to the order defined in so. See the above example.
Language Changes
In the range for each variable you can include an increment in
addition to the minimum and maximum values. This is only used for setting slider
ranges in SyntheSim. The format is just units [minval,maxval,increment] or, in
the equation editor, you can fill in the three separate edit boxes.
(Pro and DSS Only) You can specify unsubscripted model
variables inside of macro definitions by applying a $ suffix. For example Time$
can be used to represent time and TIME STEP$ to represent TIME STEP. Those are
actually the two most useful variables to have available without requiring them
as argments in the MACRO use.
Commands (Venapp/DLL/Command Scripts)
MENU>SENS2TAB|vdffile|tabfile|*![#
Converts a sensitivity simulation file to a tab delimited
file. This command will fail silently if vdffile is not the result of a
sensitivity simulation. A number of options can follow the name of the output
file.
* causes the simulation index (or time if # is specified) to
run down instead of across.
! causes only the values at final time to be exported.
# causes the variables names to be modified by simulation
number instead of time (only applies when ! is not specified).
[ causes the variable names to be modified using a subscript
instead of a prefix (only applies when ! is not specified).
MENU>SYNTHESIM|O (Not in Command files or Minimal DLL)
Starts SyntheSim mode. Use O to overwrite the existing run
without prompting. In SyntheSim mode all changes to model values will trigger
simulations and Venapp sliders will simulate as they are moved, saving the
results when they are released. If you display a sketch in SyntheSim mode the
behavior graphs for each variable will be displayed, but the sliders will not be
created.
To leave SyntheSim mode use SPECIAL>STOPSIM.
SYNTHESIM>AUTO|n (n is 0 or 1) (Not in Command files or
Minimal DLL)
By default when the MENU>SYNTHESIM command is used the model
will be resimulated whenever a model Constant or Lookup is changed. This
behavior can be suppressed by calling SYNTHESIM>AUTO|0 (zero) to run off
automatic simulation. This is useful if you want to set a number of values at
once without each change causing a new simulation. When you turn off automatic
resimulation you will need to explicitly invoke SYNTHESIM>GO.
SYNTHESIM>GO|n (n is 0 or 1) (Not in Command files or Minimal
DLL)
When in SyntheSim mode causes a simulation to be performed.
This command is only useful if you have turned off automatic simulation. If it
is called with the optional argument of 0 the results will not be saved to disk
and that any visible graphs will not have the scales reset. See also the
vensim_synthesim_vals.
DLL Functions
vensim_synthesim_vals(unsigned long offset,float **x,float
**y) (not in minimal DLL)
This function can only be called after MENU>SYNTHESIM. It will
fetch the time and variable values for an offset as returned by
vensim_get_varoff. Vensim allocates the memory for the results and will also
manage its disposal. The returned pointers should be treated as read only
pointers and are valid till the next action that will case a simulation to be
made or synthesim mode to be exited.
Returns the number of data points from the most recent
simulation.
The first time you call vensim_synthesim_vals with a given
offset the values returned will be from the most recently saved dataset. Thus if
you have exectued SYNTHESIM>GO|0 with the 0 flag the values may not be current.
However, if you execture SYNTHESIM>GO|0 again all successive calls to
vensim_synthesim_vals will return the current results.
vensim_synthesim_vals is very fast and can be called directly
by drawing routines to determine variable values. Using only
vensim_synthesim_vals and SYNTHESIM>GO|0 is the fastest way to perform
simulations and retrieve results.
See the example under MSVC60 that shows how this function can
be used.
vensim_get_varattrib - has been changed so that it returns
sensible information when called with Subscript Ranges and Elements.
DLL Contexts
The Vensim DLL is now available in a configuration that allows
for multiple context definitions. This is very useful to support a server
environment in which multiple models may need to be open or multiple copies of a
given model may need to be open for different users. Each context can be
executed independently using different threads so that actions may be performed
in one context while another may be busy performing a simulation. See the Vensim
DSS Reference Supplement for details.
|