====== Breaking out a mini model for focused work ====== When a model is very large and you wish to modify an isolated section of it and do not want the overhead of the rest of the model it's a good idea to break out a mini model. Here are some suggestions for how to do this in such a way as it's easier to bring back in: * Make the mini model by starting with the big model diagram * This will keep all the informants of the bigger model in the mini model to help make sure you don't create conflicts * Make 2 new sets of sim and cal calculators * first set for any variables that feed into the mini model you should copy reference them from the calculators that are left in your mini model into these feeder calculators (I call this upstream) * second set for any variables that feed out of the mini model to the bigger model (downstream) * deleting all the sections you don't need * Keep both sim and cal calculators including pass through calculators for inputs to the calibrator * That way you will end up writing views against variables using the names that will be in the main model and will make view merging much easier * NEVER change an informant in the mini model in any way (elem names, MBnames, etc), instead make a new informant and switch your variables to use that instead. When you merge it will then be obvious that those informants need updating. * If you had changed an informant those changes will not get copied back to the main model when you copy back the diagram 'cause they already exist and then it'll be hard to notice the change. * If you need reference vars for your views from other parts of the big model make a calculator in the mini model and copy them all in there. That way when you export and import data from the master model you will have scenario management on those vars and each individual view will not need to have the code to load that data...only the importScn.t view. * Be careful with simulation variable names so they are clean. They may be adjusted variables in the calibration but when making simulations you don't want to be filling in a projection into a variable named "*Adj"