User Tools

Site Tools


concepts:views

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
concepts:views [2009/11/05 14:12]
shona.weldon
concepts:views [2010/01/26 12:52] (current)
shona.weldon
Line 4: Line 4:
 Models, especially once populated with data, are fairly rigid. Modifying any working model requires changing the design and reloading data.  Views provide a mechanism for extending the model either through preprocessed input data, additional analysis of output data and even implementing feedback loops in the model'​s logic. Models, especially once populated with data, are fairly rigid. Modifying any working model requires changing the design and reloading data.  Views provide a mechanism for extending the model either through preprocessed input data, additional analysis of output data and even implementing feedback loops in the model'​s logic.
  
-==== Example 1: Extend a model by changing input data ====+Part of the design process is deciding what should be part of the rigid structure of the model and what should be dynamic and implemented by views. ​ Anything that needs to be flexible is usually implemented in views. 
 + 
 +==== Example 1: Extend a model by changing input data (create view) ====
  
 Suppose you had a model which had a control variable specifying exogenously the market share for new vehicles over time.  There are many ways to create that data and one must have been used to load the original model. ​ If you found a new algorithm for determining that market share based on something inside the model, something totally external or some mix of these, then a view could be written to implement this algorithm and feed it into the model as the new market share. ​ Essentially you have extended the model'​s scope but have taken on the work of actually modifying the model. ​ Of course the model can be changed later to encapsulate the new logic in the model itself but it doesn'​t need to. Suppose you had a model which had a control variable specifying exogenously the market share for new vehicles over time.  There are many ways to create that data and one must have been used to load the original model. ​ If you found a new algorithm for determining that market share based on something inside the model, something totally external or some mix of these, then a view could be written to implement this algorithm and feed it into the model as the new market share. ​ Essentially you have extended the model'​s scope but have taken on the work of actually modifying the model. ​ Of course the model can be changed later to encapsulate the new logic in the model itself but it doesn'​t need to.
  
  
-==== Example 2: Implementing feedback ====+==== Example 2: Implementing feedback ​(feedback view) ====
  
 Suppose you have a model with a coefficient in it which is NOT measured, for example an efficiency coefficient for a widget, and you need to estimate that coefficient. ​ In historic time you have a good estimate of the number of widgets and the amount of energy used by the widgets (observedEnergyUse). ​ You need to find an value for your coefficient that when multiplied by the number of widgets results in an energy use amount that tracks as close as possible to the observedEnergyUse. ​ A feed back view can be used to run the model check the difference in energy use, modify the coefficient appropriately,​ run the model again, and continue this loop until some acceptable level of convergence is achieved. Suppose you have a model with a coefficient in it which is NOT measured, for example an efficiency coefficient for a widget, and you need to estimate that coefficient. ​ In historic time you have a good estimate of the number of widgets and the amount of energy used by the widgets (observedEnergyUse). ​ You need to find an value for your coefficient that when multiplied by the number of widgets results in an energy use amount that tracks as close as possible to the observedEnergyUse. ​ A feed back view can be used to run the model check the difference in energy use, modify the coefficient appropriately,​ run the model again, and continue this loop until some acceptable level of convergence is achieved.
Line 17: Line 19:
 This is used extensively in the calibration process This is used extensively in the calibration process
  
-==== Example 3: Post Processing ====+==== Example 3: Post Processing ​(display view) ====
  
 Suppose you have an energy model that calculates fuel use and GHG emissions. ​ Then you get some coefficients for CAC emissions and you want to do a quick calculation to get the CAC emissions. ​ A display view can be written to take the results of the model and the new coefficients multiply them out and display the results. Suppose you have an energy model that calculates fuel use and GHG emissions. ​ Then you get some coefficients for CAC emissions and you want to do a quick calculation to get the CAC emissions. ​ A display view can be written to take the results of the model and the new coefficients multiply them out and display the results.
  
  
 +===== Types of views =====
  
 +In the whatIf? platform views the way the user interacts dynamically with the model. ​ Views are also used to import and export data, to mediate interaction with the model, do analysis and display it to the user, do iterative runs of the model to converge on parameter settings and every combination of these.
  
-In the whatIf? platform views are the method used for interacting dynamically with the model. ​ Views are used to import and export data, to mediate interaction with the model, do analysis and display it to the user, do iterative runs of the model to converge on parameter settings and every combination of these. +==== Display Views ====
- +
-Paragraph talking about ability to overlay behaviour or control structure on top of our physical substrate built right into the model +
- +
-Manufacture instantiation of data in views instead of the structure of the model to give extra flexibility +
- +
-===== Display Views =====+
  
 Display views are read only views into the model which do not change any model data but instead pull data from the model. ​ These can be considered as reporting view.  Here are some uses of display views: Display views are read only views into the model which do not change any model data but instead pull data from the model. ​ These can be considered as reporting view.  Here are some uses of display views:
Line 38: Line 36:
   * Export the results for use outside the mode   * Export the results for use outside the mode
  
-===== Create Views =====+==== Create Views ====
   * Importing data from various external sources   * Importing data from various external sources
   * Interacting with the user to fill variables for scenario creation   * Interacting with the user to fill variables for scenario creation
  
-===== Feedback views =====+==== Feedback views ====
  
   * Providing the structure to run the model multiple times where each subsequent run uses updated variable settings.   * Providing the structure to run the model multiple times where each subsequent run uses updated variable settings.
concepts/views.1257430333.txt.gz · Last modified: 2009/11/05 14:12 by shona.weldon