Release Notes (README) for Version 5.7aThese are the release notes for Version 5.7a 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 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. 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. 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. 5.6d Changes 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. 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. 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. 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. 5.5d ChangesDLL 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 FixesWhen importing Excel files strings created using a formula
were not showing up. 5.5c ChangesTemplate ViewYou 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 ChangesNavigation 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 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 fixesOpening a model from the file manager when Vensim was not open
would sometimes cause a RMS3321 error to be reported. 5.5b ChangesThe 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 fixesModels with both TIME_SHIFT and data equations having just a
constant on the right hand side would sometimes give spurious errors. 5.5a ChangesOn 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 fixesThere 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). 5.5 ChangesModel and Application ArchivesThe 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 ChangesImporting 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 fixesDSS 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 ChangesScrolling, 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. 5.4c ChangesThe 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. 5.4b ChangesVECTOR 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 ChangesVersion 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 ChangesThe 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 ChangesOnline 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 ChangesHiding, 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 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 ChangesVensim 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 ChangesReference ModesVensim 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 ChangesImage 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 ChangesCopying 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 ChangesThere 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 4 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 4 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 4 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 14 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 ChangesThe 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. SyntheSimWith 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. Behavior ChangesSingle ClickingWith 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. Function and Language ChangesThe 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. DLL Venapp and Command ChangesCommands (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. |
|
|