Introduction to IFs: Difference between revisions

From Pardee Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 242: Line 242:
:::regedit vbctrls.reg (or other reg files associated with the controls)
:::regedit vbctrls.reg (or other reg files associated with the controls)


===Rebuilding the Common Block===
=== Rebuilding the Common Block ===


This option will appear as a sub-option of Change Menu on your main menu only if you have:
This option will appear as a sub-option of Change Menu on your main menu only if you have:

Revision as of 17:06, 22 June 2017

Purposes

International Futures (IFs) is a tool for thinking about long-term global futures. It assists with:

  • Understanding the state of the world
  • Exploring trends and considering where they might be taking us
  • Learning about the dynamics of global systems

Thinking about the future we want to see:

  • Clarifying goals/priorities
  • Developing alternative scenarios (if-then statements) about the future
  • Investigating the leverage various agent-classes have in shaping the future

Assumptions that underlie IFs development and use:

  • Global issues are becoming more significant as the scope of human interaction and human impact on the broader environment grow
  • Goals and priorities for human systems are becoming clearer and are more frequently and consistently enunciated
  • Understanding of the dynamics of human systems is growing rapidly
  • The domain of human choice and action is broadening

What can you investigate with IFs? Examples include:

  • Environmental Sustainability: Atmospheric carbon dioxide levels, world forest area, fossil fuel usage
  • Social/Political Change: Life expectancy, literacy rate, democracy level, status of women, value change
  • Demographic Futures: Population levels and growth, fertility, mortality, migration
  • Food and Agriculture: Land use and production levels, calorie availability, malnutrition rates
  • Energy: Resource and production levels, demand patterns, renewable energy share
  • Economics: Sectoral production, consumption, and trade patterns and structural change
  • Global System: Country and regional power levels        

IFs Issues and Modules: Visual Representation

Among the philosophical premises of the International Futures (IFs) project is that the model cannot be a "black box" to users and be truly useful. Model users must be able to examine the structures of IFs in order (1) to have confidence in them, and (2) learn from them.

Overview of the IFs model and sub-modules.

Development Mode Features

Procedures for IFs Development/Extension

This topic will be meaningful only to those having a site license for the source code and doing IFs development or for those in similar modeling projects.

Development topics.

Visual Basic. IFs was developed using Visual Basic.

Adding Variables to IFs

You will only be able to do this if you have the source code of IFs and a license for its use (and if you have Visual Basic programming skills).

To add a variable to IFs (or to eliminate one):

  • Edit IfsVar.mdb. This is an MS Access file. Add a new line for a new variable and provide values for the various fields by looking at similar, already existing variables in the file.
  • After adding a variable to IFs, you must rebuild the common block, rebuild the base case, and re-run the model.
  • Be aware that this topic has only described the addition of a variable to the input/output interface of IFs. It will have values of 0 unless you do something with it in the model code:
  • Use it as an output variable, calculated from other variables in IFs.
  • Use it as an input parameter or variable with specified initial condition. If you want to do this, you would also need to learn how to change the data files of IFs and the code in the pre-processor.

Legacy Approach to Adding a Variable. In older versions of IFs that process was harder. The following description should not be necessary for those with new copies of the source code:

Edit DECLARE2.BAS to change the total number of positions in the vector that stores all results from IFs. Near the bottom of that file you will find code like this:
Type DATAPT2 '- New system
elem2(5000) As Single
End Type
Type DATAPT3
elem3(3456) As Single
' elem3(4698) As Single
' Dim BufElem in RebBase sets total size of buffer; may need to
' expand that also - now set at 70000
End Type

DATAPT2 contains an element which is always dimensioned to 5000, because data is transferred to and from result files in a buffer which is 5000 positions in length. The number of positions needed will change with the number of variables in IFs and their dimensionality. You will need to change the dimensionality of elem3 in DATAPT3 in order to pick up the residual positions after the 5000-position buffer is used as frequently as needed.

When adding a variable of known length (e.g. a scalar of length 1 or a regionalized variable across x regions), it is possible to adjust elem3’s dimensionality on the front end of an attempt to rebuild common. Often it is difficult to calculate the number of positions needed (especially for the change in subscripts applied to many variables). In this case, rebuild the common and let that procedure abort with a message that will tell you the new size needed for the total number of positions; adjust elem3 dimensionality accordingly and rebuilt the common again (hopefully now with success).

It is possible to change the dimensionality of variables by edition IFs.grp. Again, you would need similarly to change the number of positions in DECLARE2.BAS and rebuild common.

For your information, the total number of positions (FILEN) in each year of the result file is calculated from IfsVar.mdb when the model is initiated. You need not do so (its length will be elem2 dimensionality * x(as needed) + elem3 dimensionality.

Screen Captures for Documentation

To capture a screen image, display it on the screen and depress Alt-Print Screen. To place it in a graphics file, start Visio and use Control-V to paste it on a Visio Page. Then after sizing, etc., Save As will allow saving in a wide variety of forms. WMF format saves it as a large file that can be imported to Word (using Insert-Picture), etc. Visio also allows printing of the screen image directly.

Special Modes of .exe Use

Several special modes have been created for using the .exe file. The modes are:

1. Normal Mode (1 argument).

Arg1 = mode number (i.e. 1).
Example: IFs.exe 1 This behaves just like calling IFs.exe without an argument.

2. Drill Down Mode (3 arguments). This was created so that a program that was executing IFs (such as the Computer Assisted Reasoning System or CARS of the RAND Pardee Center and Evolving Logics) can identify and load a particular scenario or case from the SensitivityInput.mdb file (see below), run it, and be positioned for further analysis of it using the IFs interface.

Arg1 = mode number (i.e. 2).
Arg2 = run number from the SensitivityInput.mdb file (see below).
Arg3 (optional) = run horizon (e.g. 2050).
Example: IFs.exe 2 54 2020. This would pick the 54th scenario from the input file, load the parameters associated with it, run the model, and turn control to the user.

3. Invisible Mode (2 arguments). This was created so that a program that was executing IFs (again like CARS) or the sensitivity option of IFs itself could run multiple scenarios, placing results for selected variables into an input file. The scenario descriptions must again be in the SensitivityInput.mdb file. The variables that the user wants to see as outputs must be specified in the SensitivityOutputVars.mdb. The results generated by IFs will be put for each scenario into a SensitivityOutput.mdb file.

Arg1 = mode number (i.e. 3)
Arg2 = run horizon (e.g. 2015)
Example: IFs.exe 3 2015. If there are many scenarios in the SensitivityInput.mdb file, this can create an execution of IFs that runs for a very long time (even days). It does not need a run number from SensitivityINput.mdb because it runs all scenarios/cases in that file.

4. Invisible Single Run Mode (2 arguments). This mode was created so that a user can load a particular scenario, run it, and put selected results into an output file. The variables that the user wants to see as outputs must be specified in the SensitivityOutputVars.mdb. The results generated by IFs will be put for the selected scenario or case into a SensitivityOutput.mdb file.

Arg1=mode number (i.e. 4)
Arg2 = run number from the SensitivityInput.mdb file.
Example: IFs.exe 4 8

5. Invisible Web Mode (3 arguments). This mode was created specifically to run IFs.exe on the web. The web-based version of IFs only includes the interface or GUI elements of IFs. For actual calculations it relies on the .exe file of IFs created in Visual Basic development mode. When a model run is called for on the web, it passes appropriate arguments to the .exe. The result is a run of the model with full results put into the working.run file.

Arg1 = mode number (i.e. 5)
Arg2 = run horizon (e.g. 2020)
Example: IFs.exe 5 2020

6. Invisible Batch Scenario Mode (3 arguments). This mode loads and runs all of the .sce files in the Scenario directory of IFs and puts results into .run files with the same name as the .sce files. It processes also all subdirectories of the Scenario directory. If there are many .sce files, this can take a very long time to run.

Arg1 = mode number (i.e. 6)
Arg2 = run horizon (e.g. 2100)
Arg3 = -1 if it is being run on a stand-alone, non-web installation; = session number if it is being run on the web (i.e. the session number where it is going to look for the scenario file directory and subdirectories (e.g. ifs\scenario\session0)
Example: IFs.exe 6 2100 -1 (will run all scenarios for a stand-alone application).

All of the above examples assume that IFs is being initiated from a command line or inside a program (and the full path for the model’s .exe must be given). In a VB development environment, the modes can be turned on by going to the Project option, IFs Properties sub-option, the Make Tab, and setting the appropriate arguments in the command line (e.g. 6 2005 -1). Note that the name of the model is not specified in the command line.

Some of the above modes require one or all of three files. These were once text files (.dat) but have been converted to .mdb (Access) files to make them more transparent to the user. See examples in the IFs Sensitivity directory so as to understand the field specifications.

SensitivityInput.mdb file.
SensitivitiyOutputVars.mdb file. It is necessary to select the output variables of interest to you in the set of sensitivity runs. The model stores these in a file named SensitivityOutputVars.dat. You can select up to 500 of these (each country/region counts as one output variable even for the same variable).
SensitivityOutput.mdb file.

Installing IFs Source Code

Installation of object code and necessary controls. Before attempting to install the source code, install the object code of the Professional Edition of IFs on the target machine (i.e., installed the Professional Edition). The object code of IFs normally is installed into a subdirectory called International Futures or IFs in the C:\Program Files directory of your hard drive. The installation process will place a number of necessary controls onto other directories (including Windows\System) of the target machine. Among the controls installed are a set of ActiveX controls that were part of VB 4.0 and VB 5.0, that are used by IFs, but that are not installed by VB 6.0 (AniBtn32.ocx; Gauge32.ocx, Graph32.ocs, Gsw32.EXE, Gswdll32.dll, Grid32.ocx, KeySta32.ocx, Spin32.ocx, and Threed32.ocx). Please note, however, that installation of a run-time copy of IFs will not register all of these controls for design-time use (see subsequent steps).

Install Visual Basic 6.0 on the target machine. As of early 2005, Service Pack 6 was available for VB 6 and it should also be installed. Design use of IFs requires a license for Visual Basic 6.0 Professional from Microsoft.

Design-time registration of controls. As noted above, there are some controls used by IFs that were part of VB 4.0 and VB 5.0 but are not installed and registered for design-time use by VB 6.0 (see the list in parentheses in step 1). The contorls can be found in the Common\Tools\VB\Controls directory of the VB 6.0 installation disk and the ReadMe.txt file (reproduced at the end of this write-up) describes their registration. In January 2005 these were also added to a VB Old Controls subdirectory of the IFs development directory. It is necessary to copy these files to your Windows\System directory and register them. There are several ways to register them. It can apparently be done from within Visual Basic. The ReadMe.txt below suggests using RegSvr32.exe (execute this program with each of the controls as a target or drag and drop the controls onto the control) – this procedure seems to work. The ReadMe.txt also says you can also use RegEdit.exe (apparently you can register them all at once by by executing RegEdit with Vbctrls.reg as the target). In January 2005 it seemed to be necessary to drag and drop the Graph32.ocx unto RegEdit.exe (within /System) to get it registered correctly. Although it should not be necessary to use, the set-up wizard that creates the object code installation CAB file also creates a directory named Support that contains copies of all of the installed files (including the controls from earlier VB versions); these constitute a secondary location for finding components that may somehow be missing.

Installation of source code. The CD-ROM includes all of the source code necessary to run and modify International Futures (subject to provisions of the license agreement). In order to keep the source code separate from the ojbect code, it is highly recommended that you copy all of the directories and files from the CD-ROM into a subdirectory (IFs) of a directory called C:\My Documents on your hard drive. (If you copy the source code into another location, it will be necessary to change code specifying StartDirec$ in the Form-Load routine of the frm_IFs.) The CD-ROM does not include a setup or install routine. You simply copy the IFs directory and all of its files and subdirectories to the C:\My Documents directory.

IFs.ini. The IFs.ini file needs to be on the Windows directory for both development and use of the model.

Inetwh32.dll. This file needs to be on the system32 directory in order to allow use of IFsHelp. The SetBrows file also should be there.

Additional software required. IFs also requires a license for MapObjects 3.0 from ESRI. This software must be installed prior to your use of IFs. IFs also uses components from Total VB Statistics from FMS. If you have installed the object code of IFs successfully and followed the above steps, your machine should have the needed components from FMS.

Initiating use of IFs. Once all of the needed software is installed, start Visual Basic. Initiate a New Project. Select the Existing tab and browse for IFs (presumably on C:\My Documents\). Go to the Code subdirectory of IFs and you should find the file IFs.vbp (the Visual Basic master program file for IFs). Activate it with a double click and all of the files of IFs should be read into Visual Basic. If you receive error messages during this process, make a note of them and continue if possible; you may still having missing components in your projects (see the next step).

Earlier use of ESRI MapObjects. At one time MapObjects was used instead of Blue Marble’s GeoObjects. The following instructions will be unnecessary unless IFs has returned to its use: Check to see if ArcExplorer Legend is a selected (checked) component. If it is not (and it probably will not be), use the Browse button to find the needed file, MO2Legend.ocx. If you have installed MapObjects 2.0, you will normally find it in the directory C:\Program Files\Esri\MapObjects2\Samples\Vb\MoView2. After you have selected Project\Components from the VB menu you will be able to use the browser search for it, click on it, and thereby activate it; you should see it appear and checked in the list of components available to your Visual Basic project. You also need to make sure that the component ESRI MapObjects 2.0 is in the project. Scroll down the alphabetical list of components. When you find it listed, make sure it is checked.

Making Sure Components are Available. Before starting to run IFs, select Project from the VB menu and Components from the submenu. Components that you may find checked or should attempt to check yourself are: Desaware Animated Button Control; MicroHelp Guage Control; MicroHelp Key State Control; Microsoft Comm Control 6.0; Microsoft Common Dialog Control 6.0; Microsoft Data Bound Grid Control 5.0 (SP3); Microsoft FlexGrid Control 6.0; MicroSoft Grid Control; Microsoft Masked Edit Control 6.0; Microsoft Picture Clip Control 6.0; Microsoft Window Commons Control 6.0; Outrider SpinButton Control; Pinnacle-BPD Graph Control; SHERIDAN 3D CONTROLS. If you attempt to check a control and are unable to do so, make a note of it, but continue. Some of these may be obsolete for your version of IFs.

Making Sure References are Selected. The following references are selected/checked in my project file (see yours by selecting Project from the VB menu and References from the submenu): Visual Basic for Applications; Visual Basic runtime objects and procedures; Visual Basic objects and procedures; Microsoft Excel 9.0 Object Library; Standard OLE Types; FMS Total VB Statistics 6; Microsoft DAO 3.6 Object Library (before upgrading to Office 2000, it was Microsoft DAO 2.5/3.51 Compatibility Library). I do not believe it is necessary to have FMS Total VB Statistics 6 in the development environment, but I am not certain.

Starting IFs. After loading IFs and activating the controls it needs in the VB project, select Run from the main VB menu and Start from the submenu. This should initiate IFs. If it does not, make a note of the nature of any error messages or the point at which problems arise. If IFs does start properly, test it thoroughly to make sure that all files and components are available and working. Then you can proceed to edit the source code and change IFs.

Using RoboHelp for Help System updates. The RoboHelp software (company acquired by MacroMedia in 2004) has been used for Help system development. It needs to be licensed, installed, and linked to the latest version of MS Word for development involving updates of the Help system.

The Wise installation software. It has been used for creating installations of IFs on stand-alone machines. In 2004 version 9.02 was licensed. The latest .wse files will identify a number of additional components needed for creation of setup .exe files. These include a substantial number of files for Proessentials graphics. They can be put into the System32 directory.

Although they are not required for the use of source code of IFs, the following software has been very useful in the IFs project:

Blue Sky Software, RoboHelp Office. Used for the construction/update of the Help system.
FMS, Total VB Statistics. Used for creation of the code of the cross-sectional statistics capability.
Visio Corporation, Visio Standard. Used for creation of the flow charts in the Help system.
Readme.txt (from the VB installation disk)

\Tools\Controls

This directory contains all of the ActiveX Controls that shipped with Visual Basic 4.0/5.0 Professional and Enterprise Editions, which are no longer shipping with Visual Basic 6.0.

AniBtn32.ocx
Gauge32.ocx
Graph32.ocx
Gsw32.EXE
Gswdll32.DLL
Grid32.ocx
KeySta32.ocx
MSOutl32.ocx
Spin32.ocx
Threed32.ocx
MSChart.ocx

The \Tools\Controls\BiDi directory contains a Bi-directional version of Grid32.Ocx.

If you have Visual Basic 5.0 Professional or Enterprise Editions installed on your machine, you should already have these ActiveX controls available to you in Visual Basic 6.0.

Graph32.ocx has been updated to work properly in Visual Basic 6.0 and it requires two additional support files: gsw32.exe and gswdll32.dll. You must place the three files together in the \Windows\System directory or the control will not function properly.

If you do not have these controls and wish to use these in Visual Basic 6.0, you can install them by:

1. Copy all of the files in this directory to your \WINDOWS\SYSTEM directory.
2. Register the controls by either Browsing to them in Visual Basic itself, or manually register them using RegSvr32.Exe. RegSvr32.EXE can be found in the \Tools\RegistrationUtilities directory. The command line is:
regsvr32.exe grid32.ocx
3. Register the design time licenses for the controls. To do this, merge the vbctrls.reg file found in this directory into your registry. You can merge this file into your registry using RegEdit.Exe (Win95 or WinNT4) or RegEd32.Exe (WinNT3.51):
regedit vbctrls.reg (or other reg files associated with the controls)

Rebuilding the Common Block

This option will appear as a sub-option of Change Menu on your main menu only if you have:

1. The Professional Edition.
2. Visual Basic and the model code. This option is for model-builders only and requires both technical skills and a site license. Inside the IFsInit.mdb file in the \Code directory, the DevelopmentMode$ variable must have a True specification to activate the option.

You will use this option when you have

1. Changed the variables in IFSVAR.mdb (additions or deletions).
2. Changed dimensionality within the model (either by changing the maximum permissible regionalization in FRM_IFS or by changing other dimensions in IFS.GRP.

After completing a rebuild of common, you must:

1. Exit the model and Visual Basic.
2. Restart Visual Basic and the model (this loads the newly revised files with the altered common block).
3. Rebuild the base (because rebuilding common changes dimensionality and therefore sets all values in IFSBASE.RUN to 0.0 to avoid errors).
4. Rerun the model.

Dominant relations

Any computer simulation or other model will have some relationships and dynamics that dominate the behavior of the model and that therefore most heavily influence the analyses done with the model. Understanding these dominant relations will facilitate model use, particularly in the definition of key or framing scenarios.

The value added by more detailed specification of relationships in the model will lie partly in more probing analysis, often around specific policy options. Much of the value added by a more complete model specification will, however, lie in the dynamics of the full model.

For an introductory summary of dominant relations and dynamics by submodule:

Structure-Based and Agent-Class Driven Modeling

The Structure-Based, Agent-Class Driven approach has five key elements methodologically: organizing structures, stocks, flows, key aggregate relationships, and key agent-class behavioral relationships.

Organizing structures are well-recognized and theoretical and conceptual frameworks with an organizing character for important human systems: cohort-component structures for demographic systems, markets for economic systems, financial flows for socio-political-economic systems, and so on.

Stocks and flows remind us of systems dynamics. In demographic systems, the stocks are numbers of people in age- and sex-specific cohorts, while the flows are births, deaths, and migration. Systems dynamics would deal with the key relationships as auxiliaries, but econometrics would recognize them as equations that require empirical estimation.[1]

Key Aggregate Relationships. Life expectancy or mortality is a key aggregate relationship, clearly a function of income, perhaps education, and certainly of technological change. Aggregate Relationships are often actually Agent-Class behaviors that have not yet been decomposed enough to represent in terms of a single agent class. For instance, life expectancy is a function of government and firm spending on R&D as well as household life-style choices; it could eventually be decomposed to the agent-class level.

Key Agent-Class Behavioral Relationships. For example, in the case of fertility, there is one primary agent-class, namely households, whose behavior, as a function again of income, education, and technology, will change over time.

Agent-classes versus micro agents. IFs is not agent-based in the sense of models that represent individual micro-agents following rules and generating structures through their behavior. Instead, IFs represents both existing macro-agent classes and existing structures (with complex historic path dependencies), attempting to represent some elements of how behavior of those agents can change and how the structures can evolve. Although building aggregate model behavior and structure upward from micro agent behavior is laudable in more narrowly-focused models, global systems and structures are far too numerous and well-developed for such efforts to succeed across the breadth of concerns in IFs.

In representing the behavior of agent classes and the structures of systems, IFs draws upon large bodies of insight in many theoretical and modeling literatures. Although IFs sometimes breaks new ground with respect to specific sub-systems, its strengths lie primarily in the integration and synthesis of much earlier work.

  1. Bremer, Stuart A. 1977. Simulated Worlds: A Computer Model of National Decision-Making. Princeton: Princeton University Press.

Equation Notation

Variable names are shown in all capitals, as in the display functions of the model. Parameters are shown in lower case and boldface. Empirically-based initial conditions of variables are in capitals with boldface. Internal computed variables, which are not available for display, are shown in mixed upper and lower case.

At one time the project used a superscript of "t" to indicate time/year. Although it has mostly moved that to subscripts, it may sometimes still be found in project documentation. Superscripts other than "t" indicate exponentiation. Subscripts or superscripts with "t" indicate time, but will be omitted when a reference is contemporary to model year "t."

Subscripts show dimensionality and there are a number of standard ones in the model:

  • r for region/country r = 1,2,... (e.g., United States, European Union, Japan, Brazil...)
  • c (sometimes the project uses j) for age cohort c/j = 1,2,...,22 (infant, 0-4 years,...95-99 years, 100+ years; abbreviated set for World Value Survey variables)
  • s for economic sector s = 1,2,3,4,5,6 (agriculture, energy, materials, manufactures, services, ICT)
  • f for food types f = 1,2 (crops, meat/fish)
  • l for land types l = 1,2,3,4,5 (crop, grazing, forest, unused, urban/industrial)
  • e for energy types e = 1,2,3,4,5,6,7 (oil, gas, coal, hydroelectric, nuclear, other renewable, unconventional oil)
  • g for govt spending g = 1,2,3,4,5,6 (military, health, education, R&D, other, foreign aid)
  • p for population sex p=1,2 (male, female)
  • ss for safe water and sanitation ladder categories
  • d for cause of death (15 in total)
  • dg for cause of death group dg=1,2,3 (communicable, non-communicable, injuries/accidents)
  • h for household types h=1,2 (unskilled, skilled)

Individual equations specify a range of dimensionality only if it differs from that above. 

IFs Issues and Modules: Quick Survey

The population module:

  • represents 22 age-sex cohorts to age 100+
  • calculates change in fertility and mortality rates in response to income, income distribution, and analysis multipliers
  • computes average life expectancy at birth, literacy rate, and overall measures of human development (HDI) and physical quality of life
  • represents migration and HIV/AIDS
  • includes a newly developing submodel of formal education across primary, secondary, and tertiary levels

The economic module:

  • represents the economy in six sectors: agriculture, materials, energy, industry, services, and ICT (other sectors could be configured, using raw data from the GTAP project)
  • computes and uses input-output matrices that change dynamically with development level
  • is a general equilibrium-seeking model that does not assume exact equilibrium will exist in any given year; rather it uses inventories as buffer stocks and to provide price signals so that the model chases equilibrium over time
  • contains an endogenous production function that represents contributions to growth in multifactor productivity from R&D, education, worker health, economic policies ("freedom"), and energy prices (the "quality" of capital)
  • uses a Linear Expenditure System to represent changing consumption patterns
  • utilizes a "pooled" rather than the bilateral trade approach for international trade
  • is being imbedded during 2002 in a social accounting matrix (SAM) envelope that will tie economic production and consumption to intra-actor financial flows

The agricultural module:

  • represents production, consumption and trade of crops and meat; it also carries ocean fish catch and aquaculture in less detail
  • maintains land use in crop, grazing, forest, urban, and "other" categories
  • represents demand for food, for livestock feed, and for industrial use of agricultural products
  • is a partial equilibrium model in which food stocks buffer imbalances between production and consumption and determine price changes
  • overrides the agricultural sector in the economic module unless the user chooses otherwise

The energy module:

  • portrays production of six energy types: oil, gas, coal, nuclear, hydroelectric, and other renewable
  • represents consumption and trade of energy in the aggregate
  • represents known reserves and ultimate resources of the fossil fuels
  • portrays changing capital costs of each energy type with technological change as well as with draw-downs of resources
  • is a partial equilibrium model in which energy stocks buffer imbalances between production and consumption and determine price changes
  • overrides the energy sector in the economic module unless the user chooses otherwise

The two socio-political sub-modules:

Within countries or geographic groupings

  • represents fiscal policy through taxing and spending decisions
  • shows six categories of government spending: military, health, education, R&D, foreign aid, and a residual category
  • represents changes in social conditions of individuals (like fertility rates or literacy levels), attitudes of individuals (such as the level of materialism/postmaterialism of a society from the World Value Survey), and the social organization of people (such as the status of women)
  • represents the evolution of democracy
  • represents the prospects for state instability or failure

Between countries or groupings of countries

  • traces changes in power balances across states and regions
  • allows exploration of changes in the level of interstate threat
  • represents possible action-reaction processes and arms races with associated potential for conflict among countries

The implicit environmental module:

  • is distributed throughout the overall model
  • allows tracking of remaining resources of fossil fuels, of the area of forested land, of water usage, and of atmospheric carbon dioxide emissions

The implicit technology module:

  • is distributed throughout the overall model
  • allows changes in assumptions about rates of technological advance in agriculture, energy, and the broader economy
  • explicitly represents the extent of electronic networking of individuals in societies
  • is tied to the governmental spending model with respect to R&D spending 

IFs Background

 International Futures (IFs) has evolved since 1980 through three "generations," with a fourth generation now taking form.

The first generation had deep roots in the world models of the 1970s, including those of the Club of Rome. In particular, IFs drew on the Mesarovic-Pestel or World Integrated Model (Mesarovic and Pestel 1974). The author of IFs had contributed to that project, including the construction of the energy submodel. IFs consciously also drew on the Leontief World Model (Leontief et al. 1977), the Bariloche Foundation’s world model (Herrera et al. 1976), and Systems Analysis Research Unit Model (SARU 1977), following comparative analysis of those models by Hughes (1980). That generation was written in FORTRAN and available for use on main-frame computers through CONDUIT, an educational software distribution center at the University of Iowa. Although the primary use of that and subsequent generations was by students, IFs has always had some policy analysis capability that has appealed to specialists. For example, the U.S. Foreign Service Institute used the first generation of IFs in a mid-career training program.

The second generation of International Futures moved to early microcomputers in 1985, using the DOS platform. It was a very simplified version of the original IFs without regional or country differentiation.

The third generation, first available in 1993, became a full-scale microcomputer model. The third generation improved earlier representations of demographic, energy, and food systems, but added new environmental and socio-political content. It built upon the collaboration of the author with the GLOBUS project, and it adopted the economic submodel of GLOBUS (developed by the author). GLOBUS had been created with the inspiration of Karl Deutsch and under the leadership of Stuart Bremer (1987) at the Wissenschaftszentrum in Berlin.

The third generation has produced three editions/major releases of IFs, each accompanied by a book also called International Futures (Hughes 1993, 1996, 1999). The second edition moved to a Visual Basic platform that allowed a much improved menu-driven interface, running under Windows. The third edition incorporated an early global mapping capability and an initial ability to do cross-sectional and longitudinal data analysis.

The fourth generation has been taking shape since early 2000. It has been heavily influenced by the usage of the model in an increasingly policy-analysis mode by several important organizations. First, General Motors commissioned a specialized version of IFs named CoVaTrA (Consumer Values Trends Analysis) with a need for updated and extended demographic modeling and representation of value change. An alliance was established with the World Values Survey, directed by Ronald Inglehart, to create that version. Second, the Strategic Assessments Group of the Central Intelligence Agency commissioned a specialized version named IFs for SAG. The work involved in preparing that greatly extended and enhanced the socio-political representations of the model, both domestic and international. Third, the European Commission sponsored a project named TERRA which has led to a specialized version named IFs for TERRA. IFs for TERRA work led to enhancements across the model, including improved representation of economic sectors, updated IO matrices and a basic Social Accounting Matrix, GINI and Lorenz curves, and preparing for extended environmental impact representation (drawing upon the Advanced Sustainability Analysis framework of the Finland Futures Research Center).

Throughout this emergence of a fourth generation IFs (incorporating all of the above elements for additional users) there has been also a heavy emphasis on enhanced usability. Ideas from Robert Pestel in the TERRA project led to the creation of a new tree-structure for scenario creation and management. Ideas from Ronald Inglehart led to the development of the Guided Use structure and a somewhat more game-like character within that structure. Inglehart also help arrange funding to support the programming of Guided Use through the European Union Center of the University of Michigan.

The fifth version of IFs is currently in use and represents broad strides to improving the model and its usability. It is the first version of this software to be placed online due to the help of the National Intelligence Council (http://www.ifs.du.edu). Also, usability has been increased as Packaged Displays and Flex Packaged Displays were introduced that allowed for the creation of very specific lists of countries/regions, groups or Glists. A new education model has also been incorporated into the broader IFs model. New scenarios were created for UNEP (focusing on environmental change) and Pardee (focusing on poverty). Finally, one of the largest changes made was incorporating 182 countries into the Base-Case scenario used by IFs. Previous versions of IFs used broader regions to forecast global trends. This change also did away with the Student and Professional versions. 

Geographic Representation of the World

186 countries underpin the functioning of IFs and these countries can be displayed separately or as parts of larger groups that users can determine.

*Note: In older versions of IFs, Regions were used as intermediaries between Countries and Groups. In the future, they, or some similarly named unit, will be a sub-unit of Countries. Regions, acting as a sub-unit of Countries, are currently not a feature of IFs.

Visual representation of how different entities are organized into Countries/Regions, Groups or Glists

When using IFs, there are many occasions where the user is asked whether or not they would like to display their results as a product of single countries, or larger groups. This is typically a toggle switch that moves between Country/Region and Groups, however, it might be a three-way-toggle that includes Country/Region, Group and Glist.

Countries/Regions are currently the smallest geographical unit that users can represent. The ability to split countries down into smaller regions, or states, is under development. There are 186 different countries/regions that users can display.

Groups are variably organized geographically or by memberships in international institutions/regimes. You can find out who is represented in each group and add or delete members by exploring the Managing Regionalization function.

Glists merge both Groups and Countries/Regions. These lists are mostly geographically bound. In the future, the Glist distinction will become more important as some users may want to place, for example, both the Indian state of Kerala in a Glist with Sri Lanka and Nepal.

Users may also want to create their own groups or explore what countries are members of what groups. 

IFs Time Horizon

Future Forecasts. IFs begins computation with data from 2000 and can dynamically calculate values for all variables annually through 2100.

Historical Analysis and "Forecasts." IFs also includes an extensive and growing historical data base starting in 1960. The data basis allows analysis of relationships among variables across countries and across time. 

Instructional Use

 The standard modes for using IFs in a classroom are:

1. Assigning class members to an issue area or topic. Consider identifying specific questions for them to address.
2. Assigning class members to a country/geographic region. Again, specificity helps.

Most often, students will work independently or in groups on projects and share information after completing them. It is possible, however, to have students work interactively, by assigning them topics or regions, letting them begin work, and then have the interacting groups (or individuals) create a collective model run with the changes that each group proposes by topic or region. That process, although more difficult to organize, allows the class as whole to investigate the interaction of their topics or regions (and to share learning about model use).

There is a web site available in support of the educational use of IFs. You will find syllabi at that site. There are several publications on IFs, including a book structured specifically for educational use.

Donald Borock has described his classroom use of IFs in print. Borock, Donald. 1996. "Using Computer Assisted Instruction to Enhance the Understanding of Policymaking," Advances in Social Science and Computers 4, 103-127.

Acknowledgements

The author gratefully recognizes critical contributions in the forms of:

1. Testing and suggestions for development of IFs in one or more of multiple generations. By Donald Borock, Richard Chadwick, William Dixon, Dale Rothman, Phil Schrodt, Douglas Stuart, Donald Sylvan, Jonathan Wilkenfeld, and Ronald Inglehart.
2. Computer assistance across many releases. By Michael Niemann, Terrance Peet-Lukes, Douglas McClure, Mohammod Irfan, and Jose Solorzano.
3. Data gathering and general assistance. By James Chung, Padma Padula, Shannon Brady, David Horan, Michael Ferrier, Kay Drucker, Warren Christopher, and Anwar Hossain.
4. Long-term encouragement and support. By Harold Guetzkow, Karl Deutsch, Richard Chadwick, Gerald Barney, and Ronald Inglehart.
5. Association in related world modeling projects and projects building upon IFs. By Mihajlo Mesarovic, Aldo Barsotti, Juan Huerta, John Richardson, Thomas Shook, Patricia Strauch, and other members of the World Integrated Model (WIM) team. By Stuart Bremer, Peter Brecke, Thomas Cusack, Wolf Dieter-Eberwein, Brian Pollins, and Dale Smith of the GLOBUS modeling project. By Evan Hillebrand, Paul Herman, and others of the IFs for SAG project. By Rob Lempert and Steve Bankes at RAND, Santa Monica. By Robert Pestel, Jonathan Cave, Ronald Inglehart, Sergei Parinov, Pentti Malaska, and many others in the IFs for TERRA project.
6. Financial assistance (without responsibility for the form of the evolving product). By the National Science Foundation, the Cleveland Foundation, the Exxon Education Foundation, the Kettering Family Foundation, the Pacific Cultural Foundation, the United States Institute of Peace, General Motors, the Strategic Assessments Group of the Central Intelligence Agency, the European Commission (Information Society Technology) Programme, the European Union Center of the University of Michigan, the National Intelligence Council (for web conversion), and Frederick S. Pardee.             

Feedback

Feedback on how to improve IFs is always appreciated, especially if you find something that is not working. Compliments are also accepted. Please contact. To send the IFs team an e-mail, click on  Pardee Center in stand-alone versions or on the web.

Support for IFs Use

Health Bibliography