User Tools

Site Tools


howtos:toolcoding:projecting_a_share_into_simulation_time

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
howtos:toolcoding:projecting_a_share_into_simulation_time [2010/12/21 19:01]
shona.weldon
howtos:toolcoding:projecting_a_share_into_simulation_time [2011/02/15 21:36] (current)
marcus.williams
Line 8: Line 8:
  
 ===== Example call to the sub-routine ===== ===== Example call to the sub-routine =====
- 
-There is a subroutine which can be hooked into your model and then called from views which does saturated projections with several parameters. 
- 
-Here's some reference code you would put in your view to call the sub routine and below that is the code for the sub routine itself 
- 
 <​code>​ <​code>​
 +! NOTE these informants should be put into your model then these lines should not be included when calling the sub routine
 +skipto afterInformants
 localinformant yearInfoSet[] = create (; object=set, \ localinformant yearInfoSet[] = create (; object=set, \
  desc="​defaults wrt projection year", \  desc="​defaults wrt projection year", \
Line 29: Line 26:
  desc="​defaults wrt normalizing",​ \  desc="​defaults wrt normalizing",​ \
  elemName1 = "​doRenorm",​ \  elemName1 = "​doRenorm",​ \
- elemName2 = "dimNumInMainVar") + elemName2 = "normDimNum")  
 +afterInformants:​
  
-local varNameHis[upperdims,​timeseq] = newSizeShrPU[cr,​vcld,​t][1] +local varHis[upperdims,​timeseq] = newSizeShrPU[cr,​vcld,​t][1] 
-local varNameResult[upperdims,​timeseq] = newSizeShrPU[cr,​vcld,​t][3]+local varResult[upperdims,​timeseq] = newSizeShrPU[cr,​vcld,​t][3]
  
 local yearInfoForProj[yearInfoSet] = create (; dim=yearInfoSet,​ dataType=integer) local yearInfoForProj[yearInfoSet] = create (; dim=yearInfoSet,​ dataType=integer)
Line 48: Line 46:
 local normInfo[normInfoSet] = create (; dim=normInfoSet,​ dataType=integer) local normInfo[normInfoSet] = create (; dim=normInfoSet,​ dataType=integer)
 normInfo[yearInfoSet] = insert (1; normInfoSet:​doRenorm) normInfo[yearInfoSet] = insert (1; normInfoSet:​doRenorm)
-normInfo[yearInfoSet] = insert (2; normInfoSet:​dimNumInMainVar)+normInfo[yearInfoSet] = insert (2; normInfoSet:​normDimNum)
  
 local percentChgFromLYHis[] = create (; data=50.0) local percentChgFromLYHis[] = create (; data=50.0)
  
-local defaultJoin[] = create (; data=2) ! join history+local defaultJoin[] = create (; data=2) ! join trend  
 + 
 +local firstHisYearForProjection[],​ asymtoticPercentChange[],​ joinMethod[] 
 + 
 +string $viewDesc = "view myViewName: "
  
 tool $informPath/​satProjFromHist.t \ tool $informPath/​satProjFromHist.t \
Line 60: Line 62:
  percentChgFromLYHis[] \  percentChgFromLYHis[] \
  defaultJoin[] \  defaultJoin[] \
- varNameHis[upperdims,​timeseq] \ + varHis[upperdims,​timeseq] \ 
- varNameResult[upperdims,​timeseq] ​+ varResult[upperdims,​timeseq] ​
 + firstHisYearForProjection[] \ 
 + asymtoticPercentChange[] \ 
 + joinMethod[] 
 +
  
-newSizeShrPU[cr,​vcld,​t][3] = varNameResult[upperdims,​timeseq]+integer $firstHisYearForProjection 
 +getobjinfo (firstHisYearForProjection[],​ $firstHisYearForProjection;​ info=dataElement) 
 +buildstring ($viewDesc,​$viewDesc,"​first year of history for projection = ",​$firstHisYearForProjection,":​ ") 
 + 
 +string $asymtoticPercentChange 
 +getobjinfo (asymtoticPercentChange[],​ $asymtoticPercentChange;​ info=dataElement) 
 +buildstring ($viewDesc,​$viewDesc,"​asymtotic percent change = ",​$asymtoticPercentChange,":​ ") 
 + 
 +integer $joinMethod 
 +getobjinfo (joinMethod[],​ $joinMethod;​ info=dataElement) 
 +if $joinMethod == 1 
 + buildstring ($viewDesc,​$viewDesc,"​join to projection of last 2 years of history"​) 
 +endif 
 +if $joinMethod == 2 
 + buildstring ($viewDesc,​$viewDesc,"​join to trend line"​) 
 +endif 
 +if $joinMethod == 3 
 + buildstring ($viewDesc,​$viewDesc,"​join to trend projection of last history year"​) 
 +endif 
 + 
 +newSizeShrPU[cr,​vcld,​t][3] = assign (varResult[upperdims,​timeseq]; desc=$viewDesc)
  
 newPUVehShr[cr,​vcld->​vpsld,​ts][3] = mapcat (newSizeShrPU[cr,​vcld,​t][3] * \ newPUVehShr[cr,​vcld->​vpsld,​ts][3] = mapcat (newSizeShrPU[cr,​vcld,​t][3] * \
Line 69: Line 95:
 desc=$viewMenuChoices) desc=$viewMenuChoices)
  
-! CU vehicles 
-varNameHis[upperdims,​timeseq] = newSizeShrCU[cr,​vcld,​t][1] 
-varNameResult[upperdims,​timeseq] = newSizeShrCU[cr,​vcld,​t][3] 
- 
-tool $informPath/​satProjFromHist.t \ 
- yearInfoForProj[yearInfoSet] \ 
- boundsChecking[boundsInfoSet] \ 
- normInfo[normInfoSet] \ 
- percentChgFromLYHis[] \ 
- defaultJoin[] \ 
- varNameHis[upperdims,​timeseq] \ 
- varNameResult[upperdims,​timeseq] ​ 
  
-newSizeShrCU[cr,​vcld,​t][3] = varNameResult[upperdims,​timeseq] ​ 
  
 </​code>​ </​code>​
howtos/toolcoding/projecting_a_share_into_simulation_time.1292958081.txt.gz · Last modified: 2010/12/21 19:01 by shona.weldon