Wednesday, July 31, 2013
TK
Model Building with Galaxy in Mind
Galaxy allows application developers to
create custom interfaces for TK Solver models.
Here are some important issues to consider when creating/modifying TK
models to be used in Galaxy applications.
These tips also apply for those who are linking TK models with Excel or
Visual Basic interfaces.
Save
the model with inputs and outputs.
If a model is saved without first being
solved, some of the variables may not get output values and Galaxy may not be
sure as to how to categorize them. It’s
always a good idea to set up a model with typical inputs and solve before
saving.
Save
the model with consistent units displayed.
Make a pass through the variable sheet and
make sure that all the variables have consistent display units. For example, users may not notice that one
variable is shown in meters while the rest are in millimeters.
Do
not use any interactive TK functions.
QUERY, PROMPT, MENU, DEBUG, PAUSEMSG, SHOWMATRIX,
and BOXMSG all create interactive pop-ups when the model executes. These will not function within Galaxy. Galaxy includes controls that allow you to
build your own prompts and menus.
Be sure to check start-up procedure functions
as well as they often include such functions.
ERRMSG is ok to use but check to make sure that the error wouldn’t be
better trapped in the interface instead of during the solution process. For example, Galaxy allows you to set limits
on input values.
Avoid
plot legends and static annotations.
These do not move predictably as the
solution changes. Programmable
annotations are preferred as they can be placed at specific plot locations
using procedure functions and the locations will automatically change as values
change in the model.
Models
should be set up to solve without manual guessing wherever possible.
A model should solve automatically for most
practical combinations of inputs. The
model should include iteration triggers which are not default first guesses for
the variables appearing in Galaxy. You
do not want default guesses appearing automatically when insufficient inputs
are supplied by the users who have no way of knowing if the value which appears
is a unique solution.
Use
Procedure Functions to Generate Lists of Solutions
List solving should be avoided when
possible and replaced by procedure functions which loop through lists of input
values. When list solving is required,
use start-up functions to automatically generate the input list(s) based on
inputs on the variable sheet.
Merge
Included Objects
Galaxy will not have access to the included
objects in your TK files. You must merge
them into a single file before importing that file into Galaxy.