<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://seles.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=128.100.72.37</id>
	<title>SELESwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://seles.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=128.100.72.37"/>
	<link rel="alternate" type="text/html" href="https://seles.info/index.php/Special:Contributions/128.100.72.37"/>
	<updated>2026-05-30T02:52:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://seles.info/index.php?title=Simple_empirical_fire_model&amp;diff=3053</id>
		<title>Simple empirical fire model</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Simple_empirical_fire_model&amp;diff=3053"/>
		<updated>2006-11-14T15:18:50Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Screenshot==&lt;br /&gt;
&lt;br /&gt;
[[Image:Consumer.gif]]&lt;br /&gt;
&lt;br /&gt;
==Download Model==&lt;br /&gt;
&lt;br /&gt;
Download the .scn, .sel and .lse files by clicking on the following link: [[Image:ProducerConsumer.zip]]&lt;br /&gt;
&lt;br /&gt;
==Model Code Exploration==&lt;br /&gt;
&lt;br /&gt;
In the following sections we will examine all of the model files for this model. Note that instead of downloading the zip file above, you could just copy the text in the boxes below into a text editor and save it with the appropriate name (Section title). Opening the resulting .scn file in the SELES simulator would run this model.&lt;br /&gt;
&lt;br /&gt;
===Consume.scn===&lt;br /&gt;
 Seles Scenario&lt;br /&gt;
 Model.sel&lt;br /&gt;
 SimPriority Low Priority&lt;br /&gt;
&lt;br /&gt;
===Model.sel===&lt;br /&gt;
 Seles Model&lt;br /&gt;
 Time Units: Step kiloStep 1000 1000&lt;br /&gt;
 Landscape Events:&lt;br /&gt;
  Producer.lse DEBUG&lt;br /&gt;
  Consumer.lse DEBUG&lt;br /&gt;
  Update.lse DEBUG&lt;br /&gt;
 Spatial Variables:&lt;br /&gt;
  LSState[3]&lt;br /&gt;
  PrevLSState[3]&lt;br /&gt;
 Legends:&lt;br /&gt;
  LSStateTypes = {0:Uncolonised,    1:Producer, 2:Consumer}&lt;br /&gt;
 Global Variables:&lt;br /&gt;
  pInitialProducer = 0.01&lt;br /&gt;
  pInitialConsumer = 0.01&lt;br /&gt;
  pSpreadProducer = 0.1&lt;br /&gt;
  pSpreadConsumer = 0.2&lt;br /&gt;
  pDeathProducer = 0.01&lt;br /&gt;
  pDeathConsumer = 0.05&lt;br /&gt;
 //  SpreadRateProducer = 1&lt;br /&gt;
 //  SpreadRateConsumer = 1&lt;br /&gt;
 Output Frequency: 1&lt;br /&gt;
&lt;br /&gt;
===consumer.lse===&lt;br /&gt;
  // Process based definition for  consumber behaviour in producer/consumer  model&lt;br /&gt;
 LSEVENT: Consumder&lt;br /&gt;
 DEFINITIONS&lt;br /&gt;
   LAYER: LSState, PrevLSState&lt;br /&gt;
   GLOBAL CONSTANT: Uncolonised, Producer,  Consumer&lt;br /&gt;
   GLOBAL VARIABLE: pInitialConsumer,   pSpreadConsumer, pDeathConsumer //,  SpreadRateConsumer&lt;br /&gt;
 ENDDEF&lt;br /&gt;
 // Just start once&lt;br /&gt;
 RETURNTIME = 0&lt;br /&gt;
 // Initialize in an empty cell&lt;br /&gt;
 PROBINIT = IF LSState EQ Uncolonised THEN  pInitialConsumer ELSE 0&lt;br /&gt;
 TRANSITIONS&lt;br /&gt;
   // Decide if this cell survives&lt;br /&gt;
   Dies = UNIFORM(0,1) &amp;lt; pDeathConsumer&lt;br /&gt;
   // If the consumer is dying&lt;br /&gt;
   IF Dies&lt;br /&gt;
       LSState = Uncolonised&lt;br /&gt;
   ENDFN&lt;br /&gt;
   TRANSITIONS = !Dies&lt;br /&gt;
   LSState = Consumer&lt;br /&gt;
 ENDTR&lt;br /&gt;
 SPREADTIMESTEP = 1 //SpreadRateConsumer&lt;br /&gt;
 SPREADLOCATION&lt;br /&gt;
   REGION CENTRED(0,1, WRAPPED)&lt;br /&gt;
 ENDSL&lt;br /&gt;
 SPREADPROB&lt;br /&gt;
   // Always spread to the same cell  (self), and spread probabilistical to  neighbouring producer cells&lt;br /&gt;
  SPREADPROB = IF Location EQ (SOURCE  Location) THEN 1&lt;br /&gt;
               ELSE IF PrevLSState EQ   Producer  THEN pSpreadConsumer&lt;br /&gt;
               ELSE 0&lt;br /&gt;
 ENDSP&lt;br /&gt;
&lt;br /&gt;
===producer.lse===&lt;br /&gt;
 // Process based definiton of producer  behaviour in producer/consumer model&lt;br /&gt;
 LSEVENT: Producer&lt;br /&gt;
 DEFINITIONS&lt;br /&gt;
   LAYER: LSState, PrevLSState&lt;br /&gt;
   GLOBAL CONSTANT: Uncolonised, Producer,  Consumer&lt;br /&gt;
   GLOBAL VARIABLE: pInitialProducer,  pSpreadProducer, pDeathProducer //,  SpreadRateProducer&lt;br /&gt;
 ENDDEF&lt;br /&gt;
 // Just start once&lt;br /&gt;
 RETURNTIME = 0&lt;br /&gt;
 // Initialize in an empty cell&lt;br /&gt;
 PROBINIT = IF LSState EQ Uncolonised THEN  pInitialProducer ELSE 0&lt;br /&gt;
 TRANSITIONS&lt;br /&gt;
   // Decide if this cell survives&lt;br /&gt;
   Dies = UNIFORM(0,1) &amp;lt; pDeathProducer&lt;br /&gt;
   // If the producer is dying&lt;br /&gt;
   IF Dies&lt;br /&gt;
      LSState = Uncolonised&lt;br /&gt;
   ENDFN&lt;br /&gt;
   TRANSITIONS = (!Dies)&lt;br /&gt;
   LSState = Producer&lt;br /&gt;
 ENDTR&lt;br /&gt;
 SPREADTIMESTEP = 1 //SpreadRateProducer &lt;br /&gt;
 SPREADLOCATION&lt;br /&gt;
   notEaten = PrevLSState EQ Producer //  check that the producer wasn&#039;t eaten  during the last step&lt;br /&gt;
   REGION CENTRED(0, 1, WRAPPED)&lt;br /&gt;
      DECISION notEaten // don&#039;t spread if  eaten (i.e. stop process)&lt;br /&gt;
 ENDSL&lt;br /&gt;
 SPREADPROB&lt;br /&gt;
   // Always spread to the same cell  (self), and spread probabilistically to  empty neighbouring cells&lt;br /&gt;
  SPREADPROB = IF Location EQ (SOURCE  Location) THEN 1 // spread to same cell&lt;br /&gt;
               ELSE IF PrevLSState EQ  Uncolonised THEN pSpreadProducer&lt;br /&gt;
               ELSE 0&lt;br /&gt;
 ENDSP&lt;br /&gt;
&lt;br /&gt;
===update.lse===&lt;br /&gt;
 // Event to update time step&lt;br /&gt;
 LSEVENT: Update&lt;br /&gt;
 DEFINITIONS&lt;br /&gt;
   LAYER: LSState, PrevLSState&lt;br /&gt;
 ENDDEF&lt;br /&gt;
 RETURNTIME&lt;br /&gt;
   RETURNTIME = 1&lt;br /&gt;
   PrevLSState = LSState&lt;br /&gt;
 ENDRT&lt;br /&gt;
 NUMCLUSTERS = 0&lt;br /&gt;
&lt;br /&gt;
==Suggested Experiments==&lt;br /&gt;
&lt;br /&gt;
To explore this cellular automata model further, try the following:&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Model_Garden&amp;diff=3052</id>
		<title>Model Garden</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Model_Garden&amp;diff=3052"/>
		<updated>2006-11-14T15:18:11Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic Landscape Models and Components ==&lt;br /&gt;
=== Example 1 ===&lt;br /&gt;
=== Example 2 ===&lt;br /&gt;
=== Spreading methods===&lt;br /&gt;
====[[Spreading1]]====&lt;br /&gt;
====[[Spreading2]]====&lt;br /&gt;
&lt;br /&gt;
=== Initiation methods ===&lt;br /&gt;
===[[Markov chains]]===&lt;br /&gt;
=== Cellular automata ===&lt;br /&gt;
==== [[Game of Life]] ====&lt;br /&gt;
=== Other ===&lt;br /&gt;
==== [[Convex Hull]] ====&lt;br /&gt;
==== [[Distance Surface]] ====&lt;br /&gt;
==== [[Filter Small]] ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== [[LSStats]] ====&lt;br /&gt;
==== [[Producer Consumer]] ====&lt;br /&gt;
==== [[Random Walker]] ====&lt;br /&gt;
&lt;br /&gt;
=== Individual based models ===&lt;br /&gt;
&lt;br /&gt;
== Simple Complete Models ==&lt;br /&gt;
==== [[Simple empirical fire model]] ====&lt;br /&gt;
=== Semi-Markov chain succession ===&lt;br /&gt;
=== Basic timber harvesting ===&lt;br /&gt;
=== Patch analysis ===&lt;br /&gt;
=== Linear network processing ===&lt;br /&gt;
&lt;br /&gt;
== Applied and Advanced Models ==&lt;br /&gt;
=== Timber Supply Models ===&lt;br /&gt;
=== Habitat Supply Models ===&lt;br /&gt;
=== Packed Territory Models ===&lt;br /&gt;
=== Spatial Graph Models ===&lt;br /&gt;
==== [[BC Timber Supply]] ====&lt;br /&gt;
=== Kitcisakik Landscape model (KLM)===&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=User_talk:Charles&amp;diff=2159</id>
		<title>User talk:Charles</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=User_talk:Charles&amp;diff=2159"/>
		<updated>2006-10-04T21:54:54Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place notes to Charles here...&lt;br /&gt;
&lt;br /&gt;
Hi, Charles, I edited the language reference page while not logged in, the &amp;quot;foreign&amp;quot; ip address is just me..&lt;br /&gt;
oh, there&#039;s sth that i don&#039;t quite get--how come some of the explaination under the title show up in a grey box,some don&#039;t?  what&#039;s the code that makes it appear in the box? (the DECISION Expr??) fei&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Language_Reference&amp;diff=2144</id>
		<title>Language Reference</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Language_Reference&amp;diff=2144"/>
		<updated>2006-10-04T21:37:45Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ABSOLUTE==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
==Expr % Expr==&lt;br /&gt;
	value of the first expression modulo the value of&lt;br /&gt;
	the second expression (assumes that the values&lt;br /&gt;
	of the expressions are integers)&lt;br /&gt;
&lt;br /&gt;
==AND==		&lt;br /&gt;
TRUE (1) if all sub-expressions evaluate to&lt;br /&gt;
		TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ARCCOS==(Expr)	inverse cos of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCSIN==&lt;br /&gt;
(Expr)	inverse sine of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr)	inverse tan of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr, Expr)	inverse tan where first expression is x offset&lt;br /&gt;
		and second is y offset. Providing two &lt;br /&gt;
		expressions gives more information about the &lt;br /&gt;
		quadrant.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==BITWISE OR==&lt;br /&gt;
(Expr, Expr)	Bitwise OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE AND==&lt;br /&gt;
(Expr, Expr)	Bitwise AND of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE XOR==&lt;br /&gt;
(Expr, Expr)	Bitwise exclusive-OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE NOT==&lt;br /&gt;
 Expr	Bitwise NOT of a value[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
(Expr)	base of the natural logarithm (e) to the power of&lt;br /&gt;
	the expression&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CEILING==&lt;br /&gt;
(Expr)	smallest integer larger than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLAMP==&lt;br /&gt;
(Expr, MinExpr, MaxExpr)	clamp the value X of the expression to the range&lt;br /&gt;
			[Min, Max]: if X &amp;lt; Min then return Min; if  			X &amp;lt; Max return Max. Otherwise return X.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	if the value of the variable X is equal to one of &lt;br /&gt;
	CLASS Number: Expr	the classes listed, then return the result of the.&lt;br /&gt;
	   :	associated expression. Otherwise return 0.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	return the result of the kth expression in the list,&lt;br /&gt;
Expr	where k = X – minimum value of the variables&lt;br /&gt;
   :	(this may be non-0 only for layers)&lt;br /&gt;
   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): ( Number+)	return the kth number in the list, where &lt;br /&gt;
		k = X – minimum value of the variable (this&lt;br /&gt;
may be non-0 only for layers)[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. Rarely&lt;br /&gt;
		used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file. Rarely used.&lt;br /&gt;
&lt;br /&gt;
Classified functions use the variable as an index into the list of numbers or expressions that follow. The “CLASS” keyword is optional.  This variable must be non-negative. If “CLASS # :” is used, then the number refers to the value of the indexing variable. If a class is not specified for a given value, its expression is implicitly ZERO.  Interpolation tables are very similar except that the variable is assumed to be continuous instead of classified.  An interpolated value between classes is returned.  Lookup tables are also similar, except that both the variable and classes are assumed to be continuous values. An interpolated value between classes is also returned. Rarely used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
draw a value from a discrete distribution, where 	CLASS Number: Expr	each expression determines the relative  		:	probability of its associated class being drawn. ENDFN		The CLASS keyword is optional.&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
( Number+)	in this form, the classes are assumed to start at 			zero. Only constant probabilities can be given.&lt;br /&gt;
==CLASSIFIED_DIST==	&lt;br /&gt;
in this form, the classes are assumed to start at Expr		zero    :&lt;br /&gt;
ENDFN&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST[M]==&lt;br /&gt;
In this form, the classes in a one-dimensional&lt;br /&gt;
			array M, and so start at zero.&lt;br /&gt;
==COS==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return cos(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CRITICAL SECTION==&lt;br /&gt;
(Flag)	Enter (if Flag is TRUE) or exit (if Flag is 			FALSE) a critical section. A critical section 			gives priority to this application, and is used for&lt;br /&gt;
			synchronizing access to shared variables&lt;br /&gt;
(i.e. shared with another application).[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DEBUG==&lt;br /&gt;
		Update the simulation probe, if it is loaded and&lt;br /&gt;
			The event is selected. Used to debug/verify&lt;br /&gt;
			event behaviour.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	approximation of line between end cells&lt;br /&gt;
Cost surface and least-cost path regions are advanced features that are best understood with an example model.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	known location indices. If there is a decision expression, then only those cells for which this &lt;br /&gt;
		expression returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr	location indices stored in one-dimensional X. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr location index. If there is a decision expression,&lt;br /&gt;
		then only those cells for which this expression&lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
DistanceType is either CARDINAL or EUCLIDEAN (the default). Cardinal distance between two cells is the minimum number of cardinal steps (up, down, left, right) to reach one cell from the other. Euclidean distance is the straight-line distance between two points. The WRAPPED flag, if present indicates that the region wraps around the sides (vertically and horizontally) of the landscape (e.g. a location x positions beyond the right-hand side of a raster will be mapped to x positions in from the left-hand side of the raster). If not present, the landscape does not wrap.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DIRECTION==&lt;br /&gt;
(Expr, Expr)	angle in degrees between two location indices&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==DISPLAY==		Display on the screen the labelled 	Label: Expr	values computed with the expressions listed.&lt;br /&gt;
	      ….		If no label is given, the expression must&lt;br /&gt;
ENDFN		be a variable, and this is used for the label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
==DISPLAY==		Same as above, but only display if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	The keyword DECISION can be replaced by&lt;br /&gt;
	      ….		a “?”&lt;br /&gt;
ENDFN		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Output to the record file of output variable	the labelled values computed with the  Label: Expr	expressions listed. If no label is given, the&lt;br /&gt;
	      ….		Expression must be a variable and this is&lt;br /&gt;
ENDFN		used as label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Same as above, but only output if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	&lt;br /&gt;
	      ….		&lt;br /&gt;
ENDFN		&lt;br /&gt;
&lt;br /&gt;
==DISTANCE==&lt;br /&gt;
(Expr, Expr)	distance between two location indices (normally&lt;br /&gt;
	obtained using the Location variable). Thus,&lt;br /&gt;
	DISTANCE(loc1, loc2) is &lt;br /&gt;
	sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y))&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ELSE==&lt;br /&gt;
        expression evaluates to TRUE and the set of&lt;br /&gt;
 …	sub-expressions after the ELSE otherwise. Note &lt;br /&gt;
ENDFN	that “ELSE IF expr” forms can be strung&lt;br /&gt;
	together[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==EQUAL	TRUE== &lt;br /&gt;
(1) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==FLOOR==&lt;br /&gt;
(Expr)		largest integer smaller than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==GEOMETRIC MEAN==	&lt;br /&gt;
geometric mean of the sub-expressions  (nth &lt;br /&gt;
		root of the product for n expressions)&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
Procedural IF statement to process&lt;br /&gt;
 …	sub-expressions denoted by “…” only if the &lt;br /&gt;
ENDFN	expression evaluates to TRUE[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
        Procedural IF statement to process the first set&lt;br /&gt;
 …	of sub-expressions denoted by “…”if the &lt;br /&gt;
==IF Expr THEN Expr ELSE==&lt;br /&gt;
Expr	if value of the IF expression is TRUE (&amp;gt;= 1), 	then return the value of the THEN expression,&lt;br /&gt;
	otherwise return value of the ELSE expression&lt;br /&gt;
&lt;br /&gt;
(Expr ? Expr : Expr)	Same as above, but this form can be used as an&lt;br /&gt;
	embedded sub-expression.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	return an interpolated value where the value of&lt;br /&gt;
	CLASS Number: Number	variable X is placed between two classes or at&lt;br /&gt;
 	   :	either end of the table.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]				&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
ORDERED	same as LESS OR EQUAL&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG==&lt;br /&gt;
(Expr)	natural logarithm of the value of the expression.&lt;br /&gt;
	Logarithms in other bases can be computed as&lt;br /&gt;
	logb(x) = ln(x) / ln(b)&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal cumulative density function, where&lt;br /&gt;
			the first expression specifies the value, the &lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
==LOG NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal probability density function, where&lt;br /&gt;
			the first expression specifies the value, the&lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)  temporal log normal probability density&lt;br /&gt;
			function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table&lt;br /&gt;
		file&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr EQ Expr	TRUE if the values of the two expressions are&lt;br /&gt;
		equal; otherwise FALSE [[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr == Expr	alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment)[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr NEQ Expr	TRUE if the values are not equal; otherwise&lt;br /&gt;
		FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr != Expr	alternate form of NOT EQUAL comparison[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;lt; Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than the value of the second expression;&lt;br /&gt;
		otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;lt;= Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than or equal to the value of the second&lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;gt; Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than the value of the second &lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;gt;= Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than or equal to the value of the &lt;br /&gt;
		second expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
!Expr		Negates the expression Boolean value[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr AND Expr	TRUE if values of both expressions are&lt;br /&gt;
		TRUE and FALSE otherwise[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr OR Expr	TRUE if value of at least one expression is&lt;br /&gt;
		TRUE and FALSE otherwise&lt;br /&gt;
&lt;br /&gt;
==MAX POSITION==&lt;br /&gt;
(Expr)	Return the maximum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==MEAN==		&lt;br /&gt;
average of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
==MAX==		&lt;br /&gt;
maximum of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN== 	&lt;br /&gt;
minimum of the sub-expressions &lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN POSITION==&lt;br /&gt;
(Expr)	Return the minimum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==NEGEXP==&lt;br /&gt;
(Expr)	draw a value from a negative exponential 	distribution, where the expression specifies the&lt;br /&gt;
	mean&lt;br /&gt;
 POISSION(Expr)	draw a value from a Poisson distribution&lt;br /&gt;
&lt;br /&gt;
==NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal cumulative density function, where the 			first expression is the value, the second is the			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal probability density function, where the 			first expression is the value, the second is the  			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr) 	temporal normal probability density function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NOT EQUAL==	&lt;br /&gt;
FALSE (0) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and TRUE (1) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ONE==&lt;br /&gt;
	return 1.0&lt;br /&gt;
#Number	return value of the number specified&lt;br /&gt;
&amp;lt;Constant&amp;gt;	return value of a named constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr]	return value of a named vector constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr, Expr]	return value of a named array constant&lt;br /&gt;
&amp;lt;Macro&amp;gt;[Expr]	return value of expression at specified index&lt;br /&gt;
	in macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr)	draw a value from a normal distribution, where&lt;br /&gt;
	the first expression specifies the mean and&lt;br /&gt;
	the second specifies the standard deviation&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr, Expr)	draw a value from a skewed normal distribution, 	where the first expression specifies the mode &lt;br /&gt;
	and the second and third specify the standard &lt;br /&gt;
	deviations to the left and right of the mode &lt;br /&gt;
(Expr, Expr)	draw a value from a log normal distribution,&lt;br /&gt;
	where the first expression specifies the mean&lt;br /&gt;
	and the second specifies the standard deviation &lt;br /&gt;
	of the underlying normal distribution&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr) 	draw a value from a Weibull distribution, where&lt;br /&gt;
	the first expression specifies the beta and the&lt;br /&gt;
	second specifies alpha (Note:terminology varies&lt;br /&gt;
	between sources. The version here is equivalent&lt;br /&gt;
	to that in Excel, with reversal of parameters).&lt;br /&gt;
&lt;br /&gt;
==OR==		&lt;br /&gt;
TRUE (1) if at least one sub-expression&lt;br /&gt;
		evaluates to TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
	Halts the simulation and displays a dialog&lt;br /&gt;
	box to which the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE IF==&lt;br /&gt;
Expr	If the expression evaluates to TRUE, halts the &lt;br /&gt;
			simulation and displays a dialog box to which &lt;br /&gt;
			the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
(#Value)	Pauses the simulation for the specified number&lt;br /&gt;
			of milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE (#Value)IF== &lt;br /&gt;
Expr	If the expression evaluates to TRUE, Pauses the &lt;br /&gt;
			simulation for the specified number of &lt;br /&gt;
			milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal cumulative density function, 			where the first expression specifies the value, &lt;br /&gt;
			the second is the mode, and the third and fourth 			are the left and right standard deviations&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal probability density function,&lt;br /&gt;
	where the first expression specifies the value,&lt;br /&gt;
	the second is the mode and the third and fourth	are the standard deviations to the left and right&lt;br /&gt;
	of the mode. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)&lt;br /&gt;
			temporal skewed normal probability density &lt;br /&gt;
			function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==RECOMPUTE==	&lt;br /&gt;
Only valid in consequent expressions of &lt;br /&gt;
			ProbInit and also when ProbInit recompute flag&lt;br /&gt;
			has been set. Causes prob. surface to be&lt;br /&gt;
			recomputed before next selection&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==REGION CENTRED==&lt;br /&gt;
(Expr, Expr [,DistanceType][,WRAPPED]) &lt;br /&gt;
DECISION  Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION==&lt;br /&gt;
(Expr)&lt;br /&gt;
DECISION Expr	              &lt;br /&gt;
                              defines the region consisting of a of a single&lt;br /&gt;
                              location index. If there is a decision &lt;br /&gt;
                              expression, then only those cells for which &lt;br /&gt;
                              this expression returns TRUE will be    &lt;br /&gt;
                              included.&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==&lt;br /&gt;
(Number+)&lt;br /&gt;
DECISION Expr	             &lt;br /&gt;
                             defines the region consisting of a set of  a set &lt;br /&gt;
                             of known location indices. If there is a &lt;br /&gt;
                             decision expression, then only those cells for&lt;br /&gt;
                             which this expression returns TRUE will be&lt;br /&gt;
                             included. &lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==(X,n)	defines the region consisting of a set of n&lt;br /&gt;
&lt;br /&gt;
==REGION RECT== &lt;br /&gt;
(Expr, Expr, Expr, Expr)	defines a rectangular region. If there is a&lt;br /&gt;
	DECISION Expr	decision expression defined, then only those&lt;br /&gt;
		cells for which this expression returns&lt;br /&gt;
		TRUE will be included&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION VECTOR== (StartLocation, EndLocation)	defines region consisting of cells along an&lt;br /&gt;
&lt;br /&gt;
==REGION WHOLE MAP==	&lt;br /&gt;
defines the region consisting of the entire&lt;br /&gt;
	DECISION Expr	landscape. If there is a decision expression, &lt;br /&gt;
		then only those cells for which this expression &lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==RESIZE==&lt;br /&gt;
(Variable, Expr)	Changes size (number of entries) in a global&lt;br /&gt;
			variable. Values are not maintained. Useful for &lt;br /&gt;
			when size is not known prior to simulation.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==RESPONSE==&lt;br /&gt;
(Expr, #A, #B, #C)	two-sided version of a standard response &lt;br /&gt;
function for the value X of the first expression: &lt;br /&gt;
if (X &amp;lt; A) return e^(-(X-A)^2/(2*(C^2))&lt;br /&gt;
			else if (X &amp;gt; B) return e^(-(X-B)^2/(2*(C^2))&lt;br /&gt;
			else return 1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ROUND==&lt;br /&gt;
(Expr)	expression value rounded to the nearest integer[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SEED()==&lt;br /&gt;
		Gets the random number seed[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==SEED==&lt;br /&gt;
(Expr)		Sets the random number seed. Value returned is &lt;br /&gt;
			next seed.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList, #Type)	Set the value specified by the expression, at &lt;br /&gt;
		the positions in PositionList to: FALSE (0) &lt;br /&gt;
		if Type is 0, TRUE (1) if Type is 1,&lt;br /&gt;
		and flip the bits if Type = 2&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList,#Type,#Prob)	Same as above, except each position is set&lt;br /&gt;
		with probability #Prob&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SELECTAT==&lt;br /&gt;
(Expr, PositionList)	FALSE(0) if none of the bits in PositionList are&lt;br /&gt;
		set in the specified expression value and&lt;br /&gt;
		TRUE(1) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SHIFT LEFT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the left by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SHIFT RIGHT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the right by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SIN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return sin(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SUM==&lt;br /&gt;
DESCRIPTION: &lt;br /&gt;
Returns the number that is the sum of all the expressions.&lt;br /&gt;
&lt;br /&gt;
USAGE: &lt;br /&gt;
   x=SUM &lt;br /&gt;
       Expr&lt;br /&gt;
       ...  &lt;br /&gt;
     ENDFN&lt;br /&gt;
&lt;br /&gt;
REQUIRED ARGUMENTS:&lt;br /&gt;
Expr is any expression that evaluates to single numeric value.&lt;br /&gt;
&lt;br /&gt;
VALUE: &lt;br /&gt;
the sum of all the arguments.&lt;br /&gt;
&lt;br /&gt;
SEE ALSO: &lt;br /&gt;
&amp;lt;a link to the composite functions section of seles modellers guide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXAMPLES: &amp;lt;add carriage return here&amp;gt;&lt;br /&gt;
Example 1:&lt;br /&gt;
   y = 3&lt;br /&gt;
   x = SUM  &lt;br /&gt;
         y  &lt;br /&gt;
         y+2  &lt;br /&gt;
         5  &lt;br /&gt;
       ENDFN &lt;br /&gt;
&amp;lt;figure out an end example indicator. For example, ***&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAMPLE MODELS: &lt;br /&gt;
&amp;lt;links to sample models where this function is used&amp;gt;&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
DIVIDE	successive division of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==STRICT ORDERED==	&lt;br /&gt;
same as LESS THAN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==TAN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return tan(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==UNIFORM==&lt;br /&gt;
(Expr, Expr)	draw a value from a uniform distribution, where 	the first expression determines the minimum	 	value and the second determines the maximum&lt;br /&gt;
&lt;br /&gt;
==UNIFORM TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	temporal uniform probability density expression&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variable&amp;gt;	value of an independent variable &amp;lt;Variable&amp;gt;[Expr]	value of a vector global variable&lt;br /&gt;
&amp;lt;Variable&amp;gt;[Expr, Expr]	value of an array global variable&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
(Expr)	value of the expression Expr + Expr	sum of two expressions Expr - Expr	value of the first expression minus the value&lt;br /&gt;
	of the second expression Expr * Expr	product of two expressions Expr / Expr	value of the first expression divided by value&lt;br /&gt;
	of the second expression  Expr ^ Expr	value of the first expression to the power of&lt;br /&gt;
	the value of the second expression. An nth&lt;br /&gt;
	root can be computed with1/n as the power.&lt;br /&gt;
| Expr |	absolute value of the expression &lt;br /&gt;
&lt;br /&gt;
==WAIT UNTIL==&lt;br /&gt;
Expr	Suspend execution until the expression returns 			TRUE (1). This is intended for controlling&lt;br /&gt;
			communication and synchronization with&lt;br /&gt;
			an external application. [[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==WHILE==&lt;br /&gt;
Expr	While loop: process sub-expressions denoted by&lt;br /&gt;
 …	 “…” while the expression evaluates to TRUE&lt;br /&gt;
ENDFN	&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==ZERO==&lt;br /&gt;
	return 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==&lt;br /&gt;
(StartLocation, EndLocation)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs)&lt;br /&gt;
	DECISION Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
		Defines a region with cells that approximate&lt;br /&gt;
		the least-cost path between two cells. The&lt;br /&gt;
		first generates the cost function internally.&lt;br /&gt;
		The latter two use input information from a&lt;br /&gt;
		pre-computed cost surface region. Providing &lt;br /&gt;
		both the gradient and anchor location layers &lt;br /&gt;
		provides the most accurate approximation.&lt;br /&gt;
&lt;br /&gt;
Iteration is a common aspect of models (even if it is very procedural). Most programming languages offer a “for-loop” of some kind. SELES presently provides “over index sequence” expressions as a slightly more declarative (although also more cumbersome) expression for iterating. While-loops can also be used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==OVER INDEX SEQUENCE==&lt;br /&gt;
(Expr, Expr)	defines linear sequence of location indices. &lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns &lt;br /&gt;
		TRUE will be included.  The system variable &lt;br /&gt;
		Index holds the value of the index at each value &lt;br /&gt;
		in the sequence&lt;br /&gt;
&lt;br /&gt;
Over region expressions are very frequently used to visit all cells in a landscape that meet some condition (e.g. to compute the size of the forest at initiation).&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
OVER RegionFunction	Apply a set of sub-expressions at all spatial&lt;br /&gt;
   Expression	locations specified by a region function&lt;br /&gt;
	        :&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
AT LOCATION #Expr	Apply a set of state-changes at a specified&lt;br /&gt;
   Expression	location&lt;br /&gt;
	:&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
Matrix assignment is indicated using “[=]” instead of “=”.  The proper dimensions of the component arrays must be met.&lt;br /&gt;
&lt;br /&gt;
Variable [=] Variable	assign variable of same dimension, or a &lt;br /&gt;
	single value to all entries&lt;br /&gt;
Variable [=] Variable + Variable	sum variables of same dimension (or with a &lt;br /&gt;
	constant)&lt;br /&gt;
Variable [=] Variable - Variable	subtract variables of same dimension (or&lt;br /&gt;
	with a constant)&lt;br /&gt;
Variable [=] Variable * Variable	matrix or scalar multiplication. &lt;br /&gt;
&lt;br /&gt;
Variable [=] TRANSPOSE(Variable)	matrix transposition&lt;br /&gt;
Variable [=] Variable^-1	invert a matrix&lt;br /&gt;
Variable = SUM(Variable)	sum all entries in a matrix&lt;br /&gt;
Variable [=] SUM ROWS (Variable)	sum all rows of a matrix (result has one&lt;br /&gt;
	value per column)&lt;br /&gt;
Variable [=] SUM COLS(Variable)	sum all columns of a matrix&lt;br /&gt;
&lt;br /&gt;
Variables [=] SORT(Variable, Expr)	sort rows of an input matrix where rank is &lt;br /&gt;
	given by Expr. The system variable “Index” &lt;br /&gt;
	can appear in the expression and will take on&lt;br /&gt;
	the range of indices in the input array. The &lt;br /&gt;
	resulting sorted matrix will be assigned.&lt;br /&gt;
&lt;br /&gt;
Variable [=] MPM_MULT(Variable, Variable)	Performs a “matrix population model” &lt;br /&gt;
	(MPM) integer-based multiplication. &lt;br /&gt;
	Assumes that first matrix is two-dimensional &lt;br /&gt;
	and that second is a vector. The result is &lt;br /&gt;
	two-dimensional, where entries above &lt;br /&gt;
	diagonal represent &amp;quot;offspring&amp;quot;, entries on the&lt;br /&gt;
	diagonal represent &amp;quot;survivors&amp;quot; and entries &lt;br /&gt;
	below the diagonal represent &amp;quot;succeeders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Variable [=] CONTAG(Variable, Variable)	Creates a “temporal contagion” matrix. &lt;br /&gt;
	Given probabilities (first parameter) for a set&lt;br /&gt;
	of states and a two-dimensional contagion &lt;br /&gt;
	array (values –1 to 1 indicating affinity), &lt;br /&gt;
	generates a matrix where each row is a prob. &lt;br /&gt;
	dist. For transitions given the row value, and &lt;br /&gt;
	the overall target dist. will be met.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Matrix Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE== &lt;br /&gt;
ALL(LinkedVariable)	clears variable. No return value&lt;br /&gt;
SIZE(LinkedVariable)	number of elements, entries or nodes&lt;br /&gt;
==IS EMPTY==&lt;br /&gt;
(LinkedVariable)	TRUE if and only if variable has 0 elements&lt;br /&gt;
 [[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIRST==&lt;br /&gt;
(LinkedVariable)	returns position of first element, entry or&lt;br /&gt;
	node[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	following position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==PREV==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	preceding position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==REMOVE==&lt;br /&gt;
(LinkedVariable, PosVariable)	remove and deletes element, entry or node &lt;br /&gt;
	at position&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET(LinkedVariable, PosVariable)	get element, entry or node at position&lt;br /&gt;
X [=] GET(LinkedVariable, PosVariable, Index)	get single value in a given index&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, Variable)	set element, entry or node at position&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	set value at specified index of element,&lt;br /&gt;
	entry or node at position[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND==&lt;br /&gt;
(LinkedVariable, , TmpVariable Condition)	return first position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable, TmpVariable, Condition)	&lt;br /&gt;
	return next position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==SORT==&lt;br /&gt;
(LinkedVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	sort elements, entries or nodes according to &lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
&lt;br /&gt;
==CONTAINS==&lt;br /&gt;
(SetVariable, ElementVariable)	TRUE if and only if set variable “contains” &lt;br /&gt;
	variable provided, where two elements are &lt;br /&gt;
	identical if they have identical values[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
==INSERT==&lt;br /&gt;
(SetVariable, ElementVariable)	add element to set. Only changes set if it &lt;br /&gt;
	doesn’t already contain the element&lt;br /&gt;
SetVariable = UNION(Set1, Set2)	take union of two set variables&lt;br /&gt;
SetVariable = INTERSECTION(Sete1, Set2)	take intersection of two set variables&lt;br /&gt;
SetVariable = SUBTRACT(Sete1, Set2)	subtract second set variable from first&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
(ListVariable)	returns position of first entry [[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==TAIL==&lt;br /&gt;
(ListVariable)	returns position of last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT HEAD==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to front of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT TAIL==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to end of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT BEFORE==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry before given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AFTER==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry after given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AT==(ListVariable, Index, EntryElement)	add an entry at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE HEAD==(ListVariable)	removes and deletes first entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE TAIL== (ListVariable)	removes and deletes last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE AT INDEX==(ListVariable, Index)	removes and deletes entry at given index&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET HEAD(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET TAIL(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET AT INDEX(ListVariable, Index)	returns entry at given index&lt;br /&gt;
Pos = POS AT INDEX(ListVariable, Index)	returns position at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
&lt;br /&gt;
==ADD ROOT==(TreeVariable, EntryElement)	add root element of a tree&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT LEFT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the left of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT RIGHT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the right of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT CHILD==(TreeVariable, PosVariable, EntryElement, Index)&lt;br /&gt;
	add child to a node at given index (from&lt;br /&gt;
	left)&lt;br /&gt;
&lt;br /&gt;
n = CHILDREN(TreeVariable, PosVariable)	number of children at a given position&lt;br /&gt;
Pos = PARENT(TreeVariable, PosVariable)	Position of parent of a node&lt;br /&gt;
Pos = LEFT CHILD(TreeVariable, PosVariable)	Position of leftmost child of a node&lt;br /&gt;
Pos = RIGHT CHILD(TreeVariable, PosVariable)	Position of rightmost child of a node&lt;br /&gt;
Pos = CHILD(TreeVariable, PosVariable, Index)	Position of indexed (from left) child of a &lt;br /&gt;
	node&lt;br /&gt;
Pos = NEXT SIBLING(TreeVariable, PosVariable)	Position of next sibling to right of a node&lt;br /&gt;
Pos = PREV SIBLING(TreeVariable, PosVariable)	Position of previous  sibling to right of a &lt;br /&gt;
node&lt;br /&gt;
&lt;br /&gt;
Pos = NEXT DFS(TreeVariable, PosVariable)	Position of next node in depth-first&lt;br /&gt;
	pre-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Pos = NEXT POSTORDER DFS(TreeVariable, PosVariable)&lt;br /&gt;
	Position of next node in depth-first&lt;br /&gt;
	post-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Variable [=] GET LEFT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of leftmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET RIGHT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of rightmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET CHILD(TreeVariable, PosVariable, Index)&lt;br /&gt;
	returns entry of child with given index&lt;br /&gt;
	(from left) for a given node&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE ALL LINKS==&lt;br /&gt;
(GraphVariable) 	clears links of a graph variable&lt;br /&gt;
==SIZE LINKS==&lt;br /&gt;
(GraphVariable)	number of links in graph&lt;br /&gt;
==IS EMPTY LINKS==&lt;br /&gt;
(GraphVariable)	TRUE if and only if graph has 0 links&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIRST LINK==&lt;br /&gt;
(GraphVariable)	returns position of first link[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link following position&lt;br /&gt;
	provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==PREV LINK== &lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link preceding position&lt;br /&gt;
	provided&lt;br /&gt;
Variable [=] GET LINK(GraphVariable, PosVariable)&lt;br /&gt;
	get link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==CONTAINS LINK==&lt;br /&gt;
(GraphVariable, LinkVariable)	TRUE if and only if graph variable contains &lt;br /&gt;
	variable provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==REMOVE LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	remove and deletes link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, LinkVariable)&lt;br /&gt;
	 Set link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	Set value at specified index of link at&lt;br /&gt;
	position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND LINK==&lt;br /&gt;
(GraphVariable, TmpVariable, Condition)&lt;br /&gt;
	Return first position of link that satisfies the&lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable, TmpVariable, Condition)&lt;br /&gt;
	Return next position of a link that satisfies &lt;br /&gt;
	the condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SORT LINKS==&lt;br /&gt;
(GraphVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	Sort links according to condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==LINKED==&lt;br /&gt;
(GraphVariable, NodeVariable1, NodeVariable2, LinkType)&lt;br /&gt;
	TRUE if the nodes are linked. Set LinkType &lt;br /&gt;
	to 0 for direct links and 1 for indirect&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Language_Reference&amp;diff=2143</id>
		<title>Language Reference</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Language_Reference&amp;diff=2143"/>
		<updated>2006-10-04T21:36:43Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ABSOLUTE==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
==Expr % Expr==&lt;br /&gt;
	value of the first expression modulo the value of&lt;br /&gt;
	the second expression (assumes that the values&lt;br /&gt;
	of the expressions are integers)&lt;br /&gt;
&lt;br /&gt;
==AND==		&lt;br /&gt;
TRUE (1) if all sub-expressions evaluate to&lt;br /&gt;
		TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ARCCOS==(Expr)	inverse cos of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCSIN==&lt;br /&gt;
(Expr)	inverse sine of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr)	inverse tan of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr, Expr)	inverse tan where first expression is x offset&lt;br /&gt;
		and second is y offset. Providing two &lt;br /&gt;
		expressions gives more information about the &lt;br /&gt;
		quadrant.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==BITWISE OR==&lt;br /&gt;
(Expr, Expr)	Bitwise OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE AND==&lt;br /&gt;
(Expr, Expr)	Bitwise AND of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE XOR==&lt;br /&gt;
(Expr, Expr)	Bitwise exclusive-OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE NOT==&lt;br /&gt;
 Expr	Bitwise NOT of a value[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
(Expr)	base of the natural logarithm (e) to the power of&lt;br /&gt;
	the expression&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CEILING==&lt;br /&gt;
(Expr)	smallest integer larger than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLAMP==&lt;br /&gt;
(Expr, MinExpr, MaxExpr)	clamp the value X of the expression to the range&lt;br /&gt;
			[Min, Max]: if X &amp;lt; Min then return Min; if  			X &amp;lt; Max return Max. Otherwise return X.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	if the value of the variable X is equal to one of &lt;br /&gt;
	CLASS Number: Expr	the classes listed, then return the result of the.&lt;br /&gt;
	   :	associated expression. Otherwise return 0.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	return the result of the kth expression in the list,&lt;br /&gt;
Expr	where k = X – minimum value of the variables&lt;br /&gt;
   :	(this may be non-0 only for layers)&lt;br /&gt;
   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): ( Number+)	return the kth number in the list, where &lt;br /&gt;
		k = X – minimum value of the variable (this&lt;br /&gt;
may be non-0 only for layers)[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. Rarely&lt;br /&gt;
		used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file. Rarely used.&lt;br /&gt;
&lt;br /&gt;
Classified functions use the variable as an index into the list of numbers or expressions that follow. The “CLASS” keyword is optional.  This variable must be non-negative. If “CLASS # :” is used, then the number refers to the value of the indexing variable. If a class is not specified for a given value, its expression is implicitly ZERO.  Interpolation tables are very similar except that the variable is assumed to be continuous instead of classified.  An interpolated value between classes is returned.  Lookup tables are also similar, except that both the variable and classes are assumed to be continuous values. An interpolated value between classes is also returned. Rarely used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
draw a value from a discrete distribution, where 	CLASS Number: Expr	each expression determines the relative  		:	probability of its associated class being drawn. ENDFN		The CLASS keyword is optional.&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
( Number+)	in this form, the classes are assumed to start at 			zero. Only constant probabilities can be given.&lt;br /&gt;
==CLASSIFIED_DIST==	&lt;br /&gt;
in this form, the classes are assumed to start at Expr		zero    :&lt;br /&gt;
ENDFN&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST[M]==&lt;br /&gt;
In this form, the classes in a one-dimensional&lt;br /&gt;
			array M, and so start at zero.&lt;br /&gt;
==COS==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return cos(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CRITICAL SECTION==&lt;br /&gt;
(Flag)	Enter (if Flag is TRUE) or exit (if Flag is 			FALSE) a critical section. A critical section 			gives priority to this application, and is used for&lt;br /&gt;
			synchronizing access to shared variables&lt;br /&gt;
(i.e. shared with another application).[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DEBUG==&lt;br /&gt;
		Update the simulation probe, if it is loaded and&lt;br /&gt;
			The event is selected. Used to debug/verify&lt;br /&gt;
			event behaviour.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	approximation of line between end cells&lt;br /&gt;
Cost surface and least-cost path regions are advanced features that are best understood with an example model.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	known location indices. If there is a decision expression, then only those cells for which this &lt;br /&gt;
		expression returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr	location indices stored in one-dimensional X. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr location index. If there is a decision expression,&lt;br /&gt;
		then only those cells for which this expression&lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
DistanceType is either CARDINAL or EUCLIDEAN (the default). Cardinal distance between two cells is the minimum number of cardinal steps (up, down, left, right) to reach one cell from the other. Euclidean distance is the straight-line distance between two points. The WRAPPED flag, if present indicates that the region wraps around the sides (vertically and horizontally) of the landscape (e.g. a location x positions beyond the right-hand side of a raster will be mapped to x positions in from the left-hand side of the raster). If not present, the landscape does not wrap.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DIRECTION==&lt;br /&gt;
(Expr, Expr)	angle in degrees between two location indices&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==DISPLAY==		Display on the screen the labelled 	Label: Expr	values computed with the expressions listed.&lt;br /&gt;
	      ….		If no label is given, the expression must&lt;br /&gt;
ENDFN		be a variable, and this is used for the label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
==DISPLAY==		Same as above, but only display if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	The keyword DECISION can be replaced by&lt;br /&gt;
	      ….		a “?”&lt;br /&gt;
ENDFN		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Output to the record file of output variable	the labelled values computed with the  Label: Expr	expressions listed. If no label is given, the&lt;br /&gt;
	      ….		Expression must be a variable and this is&lt;br /&gt;
ENDFN		used as label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Same as above, but only output if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	&lt;br /&gt;
	      ….		&lt;br /&gt;
ENDFN		&lt;br /&gt;
&lt;br /&gt;
==DISTANCE==&lt;br /&gt;
(Expr, Expr)	distance between two location indices (normally&lt;br /&gt;
	obtained using the Location variable). Thus,&lt;br /&gt;
	DISTANCE(loc1, loc2) is &lt;br /&gt;
	sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y))&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ELSE==&lt;br /&gt;
        expression evaluates to TRUE and the set of&lt;br /&gt;
 …	sub-expressions after the ELSE otherwise. Note &lt;br /&gt;
ENDFN	that “ELSE IF expr” forms can be strung&lt;br /&gt;
	together[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==EQUAL	TRUE== &lt;br /&gt;
(1) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==FLOOR==&lt;br /&gt;
(Expr)		largest integer smaller than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==GEOMETRIC MEAN==	&lt;br /&gt;
geometric mean of the sub-expressions  (nth &lt;br /&gt;
		root of the product for n expressions)&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
Procedural IF statement to process&lt;br /&gt;
 …	sub-expressions denoted by “…” only if the &lt;br /&gt;
ENDFN	expression evaluates to TRUE[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
        Procedural IF statement to process the first set&lt;br /&gt;
 …	of sub-expressions denoted by “…”if the &lt;br /&gt;
==IF Expr THEN Expr ELSE==&lt;br /&gt;
Expr	if value of the IF expression is TRUE (&amp;gt;= 1), 	then return the value of the THEN expression,&lt;br /&gt;
	otherwise return value of the ELSE expression&lt;br /&gt;
&lt;br /&gt;
(Expr ? Expr : Expr)	Same as above, but this form can be used as an&lt;br /&gt;
	embedded sub-expression.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	return an interpolated value where the value of&lt;br /&gt;
	CLASS Number: Number	variable X is placed between two classes or at&lt;br /&gt;
 	   :	either end of the table.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]				&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
ORDERED	same as LESS OR EQUAL&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG==&lt;br /&gt;
(Expr)	natural logarithm of the value of the expression.&lt;br /&gt;
	Logarithms in other bases can be computed as&lt;br /&gt;
	logb(x) = ln(x) / ln(b)&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal cumulative density function, where&lt;br /&gt;
			the first expression specifies the value, the &lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
==LOG NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal probability density function, where&lt;br /&gt;
			the first expression specifies the value, the&lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)  temporal log normal probability density&lt;br /&gt;
			function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table&lt;br /&gt;
		file&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr EQ Expr	TRUE if the values of the two expressions are&lt;br /&gt;
		equal; otherwise FALSE [[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr == Expr	alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment)[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr NEQ Expr	TRUE if the values are not equal; otherwise&lt;br /&gt;
		FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr != Expr	alternate form of NOT EQUAL comparison[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;lt; Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than the value of the second expression;&lt;br /&gt;
		otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;lt;= Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than or equal to the value of the second&lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;gt; Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than the value of the second &lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;gt;= Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than or equal to the value of the &lt;br /&gt;
		second expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
!Expr		Negates the expression Boolean value[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr AND Expr	TRUE if values of both expressions are&lt;br /&gt;
		TRUE and FALSE otherwise[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr OR Expr	TRUE if value of at least one expression is&lt;br /&gt;
		TRUE and FALSE otherwise&lt;br /&gt;
&lt;br /&gt;
==MAX POSITION==&lt;br /&gt;
(Expr)	Return the maximum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==MEAN==		&lt;br /&gt;
average of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
==MAX==		&lt;br /&gt;
maximum of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN== 	&lt;br /&gt;
minimum of the sub-expressions &lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN POSITION==&lt;br /&gt;
(Expr)	Return the minimum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==NEGEXP==&lt;br /&gt;
(Expr)	draw a value from a negative exponential 	distribution, where the expression specifies the&lt;br /&gt;
	mean&lt;br /&gt;
 POISSION(Expr)	draw a value from a Poisson distribution&lt;br /&gt;
&lt;br /&gt;
==NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal cumulative density function, where the 			first expression is the value, the second is the			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal probability density function, where the 			first expression is the value, the second is the  			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr) 	temporal normal probability density function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NOT EQUAL==	&lt;br /&gt;
FALSE (0) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and TRUE (1) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ONE==&lt;br /&gt;
	return 1.0&lt;br /&gt;
#Number	return value of the number specified&lt;br /&gt;
&amp;lt;Constant&amp;gt;	return value of a named constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr]	return value of a named vector constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr, Expr]	return value of a named array constant&lt;br /&gt;
&amp;lt;Macro&amp;gt;[Expr]	return value of expression at specified index&lt;br /&gt;
	in macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr)	draw a value from a normal distribution, where&lt;br /&gt;
	the first expression specifies the mean and&lt;br /&gt;
	the second specifies the standard deviation&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr, Expr)	draw a value from a skewed normal distribution, 	where the first expression specifies the mode &lt;br /&gt;
	and the second and third specify the standard &lt;br /&gt;
	deviations to the left and right of the mode &lt;br /&gt;
(Expr, Expr)	draw a value from a log normal distribution,&lt;br /&gt;
	where the first expression specifies the mean&lt;br /&gt;
	and the second specifies the standard deviation &lt;br /&gt;
	of the underlying normal distribution&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr) 	draw a value from a Weibull distribution, where&lt;br /&gt;
	the first expression specifies the beta and the&lt;br /&gt;
	second specifies alpha (Note:terminology varies&lt;br /&gt;
	between sources. The version here is equivalent&lt;br /&gt;
	to that in Excel, with reversal of parameters).&lt;br /&gt;
&lt;br /&gt;
==OR==		&lt;br /&gt;
TRUE (1) if at least one sub-expression&lt;br /&gt;
		evaluates to TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
	Halts the simulation and displays a dialog&lt;br /&gt;
	box to which the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE IF==&lt;br /&gt;
Expr	If the expression evaluates to TRUE, halts the &lt;br /&gt;
			simulation and displays a dialog box to which &lt;br /&gt;
			the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
(#Value)	Pauses the simulation for the specified number&lt;br /&gt;
			of milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE (#Value)IF== &lt;br /&gt;
Expr	If the expression evaluates to TRUE, Pauses the &lt;br /&gt;
			simulation for the specified number of &lt;br /&gt;
			milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal cumulative density function, 			where the first expression specifies the value, &lt;br /&gt;
			the second is the mode, and the third and fourth 			are the left and right standard deviations&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal probability density function,&lt;br /&gt;
	where the first expression specifies the value,&lt;br /&gt;
	the second is the mode and the third and fourth	are the standard deviations to the left and right&lt;br /&gt;
	of the mode. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)&lt;br /&gt;
			temporal skewed normal probability density &lt;br /&gt;
			function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==RECOMPUTE==	&lt;br /&gt;
Only valid in consequent expressions of &lt;br /&gt;
			ProbInit and also when ProbInit recompute flag&lt;br /&gt;
			has been set. Causes prob. surface to be&lt;br /&gt;
			recomputed before next selection&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==REGION CENTRED==&lt;br /&gt;
(Expr, Expr [,DistanceType][,WRAPPED]) &lt;br /&gt;
DECISION  Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION==&lt;br /&gt;
(Expr)&lt;br /&gt;
DECISION Expr	              defines the region consisting of a of a single&lt;br /&gt;
                              location index. If there is a decision &lt;br /&gt;
                              expression, then only those cells for which &lt;br /&gt;
                              this expression returns TRUE will be    &lt;br /&gt;
                              included.&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==&lt;br /&gt;
(Number+)&lt;br /&gt;
DECISION Expr	             defines the region consisting of a set of  a set &lt;br /&gt;
                             of known location indices. If there is a &lt;br /&gt;
                             decision expression, then only those cells for&lt;br /&gt;
                             which this expression returns TRUE will be&lt;br /&gt;
                             included. &lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==(X,n)	defines the region consisting of a set of n&lt;br /&gt;
&lt;br /&gt;
==REGION RECT== &lt;br /&gt;
(Expr, Expr, Expr, Expr)	defines a rectangular region. If there is a&lt;br /&gt;
	DECISION Expr	decision expression defined, then only those&lt;br /&gt;
		cells for which this expression returns&lt;br /&gt;
		TRUE will be included&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION VECTOR== (StartLocation, EndLocation)	defines region consisting of cells along an&lt;br /&gt;
&lt;br /&gt;
==REGION WHOLE MAP==	&lt;br /&gt;
defines the region consisting of the entire&lt;br /&gt;
	DECISION Expr	landscape. If there is a decision expression, &lt;br /&gt;
		then only those cells for which this expression &lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==RESIZE==&lt;br /&gt;
(Variable, Expr)	Changes size (number of entries) in a global&lt;br /&gt;
			variable. Values are not maintained. Useful for &lt;br /&gt;
			when size is not known prior to simulation.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==RESPONSE==&lt;br /&gt;
(Expr, #A, #B, #C)	two-sided version of a standard response &lt;br /&gt;
function for the value X of the first expression: &lt;br /&gt;
if (X &amp;lt; A) return e^(-(X-A)^2/(2*(C^2))&lt;br /&gt;
			else if (X &amp;gt; B) return e^(-(X-B)^2/(2*(C^2))&lt;br /&gt;
			else return 1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ROUND==&lt;br /&gt;
(Expr)	expression value rounded to the nearest integer[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SEED()==&lt;br /&gt;
		Gets the random number seed[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==SEED==&lt;br /&gt;
(Expr)		Sets the random number seed. Value returned is &lt;br /&gt;
			next seed.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList, #Type)	Set the value specified by the expression, at &lt;br /&gt;
		the positions in PositionList to: FALSE (0) &lt;br /&gt;
		if Type is 0, TRUE (1) if Type is 1,&lt;br /&gt;
		and flip the bits if Type = 2&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList,#Type,#Prob)	Same as above, except each position is set&lt;br /&gt;
		with probability #Prob&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SELECTAT==&lt;br /&gt;
(Expr, PositionList)	FALSE(0) if none of the bits in PositionList are&lt;br /&gt;
		set in the specified expression value and&lt;br /&gt;
		TRUE(1) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SHIFT LEFT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the left by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SHIFT RIGHT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the right by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SIN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return sin(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SUM==&lt;br /&gt;
DESCRIPTION: &lt;br /&gt;
Returns the number that is the sum of all the expressions.&lt;br /&gt;
&lt;br /&gt;
USAGE: &lt;br /&gt;
   x=SUM &lt;br /&gt;
       Expr&lt;br /&gt;
       ...  &lt;br /&gt;
     ENDFN&lt;br /&gt;
&lt;br /&gt;
REQUIRED ARGUMENTS:&lt;br /&gt;
Expr is any expression that evaluates to single numeric value.&lt;br /&gt;
&lt;br /&gt;
VALUE: &lt;br /&gt;
the sum of all the arguments.&lt;br /&gt;
&lt;br /&gt;
SEE ALSO: &lt;br /&gt;
&amp;lt;a link to the composite functions section of seles modellers guide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXAMPLES: &amp;lt;add carriage return here&amp;gt;&lt;br /&gt;
Example 1:&lt;br /&gt;
   y = 3&lt;br /&gt;
   x = SUM  &lt;br /&gt;
         y  &lt;br /&gt;
         y+2  &lt;br /&gt;
         5  &lt;br /&gt;
       ENDFN &lt;br /&gt;
&amp;lt;figure out an end example indicator. For example, ***&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAMPLE MODELS: &lt;br /&gt;
&amp;lt;links to sample models where this function is used&amp;gt;&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
DIVIDE	successive division of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==STRICT ORDERED==	&lt;br /&gt;
same as LESS THAN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==TAN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return tan(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==UNIFORM==&lt;br /&gt;
(Expr, Expr)	draw a value from a uniform distribution, where 	the first expression determines the minimum	 	value and the second determines the maximum&lt;br /&gt;
&lt;br /&gt;
==UNIFORM TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	temporal uniform probability density expression&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variable&amp;gt;	value of an independent variable &amp;lt;Variable&amp;gt;[Expr]	value of a vector global variable&lt;br /&gt;
&amp;lt;Variable&amp;gt;[Expr, Expr]	value of an array global variable&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
(Expr)	value of the expression Expr + Expr	sum of two expressions Expr - Expr	value of the first expression minus the value&lt;br /&gt;
	of the second expression Expr * Expr	product of two expressions Expr / Expr	value of the first expression divided by value&lt;br /&gt;
	of the second expression  Expr ^ Expr	value of the first expression to the power of&lt;br /&gt;
	the value of the second expression. An nth&lt;br /&gt;
	root can be computed with1/n as the power.&lt;br /&gt;
| Expr |	absolute value of the expression &lt;br /&gt;
&lt;br /&gt;
==WAIT UNTIL==&lt;br /&gt;
Expr	Suspend execution until the expression returns 			TRUE (1). This is intended for controlling&lt;br /&gt;
			communication and synchronization with&lt;br /&gt;
			an external application. [[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==WHILE==&lt;br /&gt;
Expr	While loop: process sub-expressions denoted by&lt;br /&gt;
 …	 “…” while the expression evaluates to TRUE&lt;br /&gt;
ENDFN	&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==ZERO==&lt;br /&gt;
	return 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==&lt;br /&gt;
(StartLocation, EndLocation)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs)&lt;br /&gt;
	DECISION Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
		Defines a region with cells that approximate&lt;br /&gt;
		the least-cost path between two cells. The&lt;br /&gt;
		first generates the cost function internally.&lt;br /&gt;
		The latter two use input information from a&lt;br /&gt;
		pre-computed cost surface region. Providing &lt;br /&gt;
		both the gradient and anchor location layers &lt;br /&gt;
		provides the most accurate approximation.&lt;br /&gt;
&lt;br /&gt;
Iteration is a common aspect of models (even if it is very procedural). Most programming languages offer a “for-loop” of some kind. SELES presently provides “over index sequence” expressions as a slightly more declarative (although also more cumbersome) expression for iterating. While-loops can also be used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==OVER INDEX SEQUENCE==&lt;br /&gt;
(Expr, Expr)	defines linear sequence of location indices. &lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns &lt;br /&gt;
		TRUE will be included.  The system variable &lt;br /&gt;
		Index holds the value of the index at each value &lt;br /&gt;
		in the sequence&lt;br /&gt;
&lt;br /&gt;
Over region expressions are very frequently used to visit all cells in a landscape that meet some condition (e.g. to compute the size of the forest at initiation).&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
OVER RegionFunction	Apply a set of sub-expressions at all spatial&lt;br /&gt;
   Expression	locations specified by a region function&lt;br /&gt;
	        :&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
AT LOCATION #Expr	Apply a set of state-changes at a specified&lt;br /&gt;
   Expression	location&lt;br /&gt;
	:&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
Matrix assignment is indicated using “[=]” instead of “=”.  The proper dimensions of the component arrays must be met.&lt;br /&gt;
&lt;br /&gt;
Variable [=] Variable	assign variable of same dimension, or a &lt;br /&gt;
	single value to all entries&lt;br /&gt;
Variable [=] Variable + Variable	sum variables of same dimension (or with a &lt;br /&gt;
	constant)&lt;br /&gt;
Variable [=] Variable - Variable	subtract variables of same dimension (or&lt;br /&gt;
	with a constant)&lt;br /&gt;
Variable [=] Variable * Variable	matrix or scalar multiplication. &lt;br /&gt;
&lt;br /&gt;
Variable [=] TRANSPOSE(Variable)	matrix transposition&lt;br /&gt;
Variable [=] Variable^-1	invert a matrix&lt;br /&gt;
Variable = SUM(Variable)	sum all entries in a matrix&lt;br /&gt;
Variable [=] SUM ROWS (Variable)	sum all rows of a matrix (result has one&lt;br /&gt;
	value per column)&lt;br /&gt;
Variable [=] SUM COLS(Variable)	sum all columns of a matrix&lt;br /&gt;
&lt;br /&gt;
Variables [=] SORT(Variable, Expr)	sort rows of an input matrix where rank is &lt;br /&gt;
	given by Expr. The system variable “Index” &lt;br /&gt;
	can appear in the expression and will take on&lt;br /&gt;
	the range of indices in the input array. The &lt;br /&gt;
	resulting sorted matrix will be assigned.&lt;br /&gt;
&lt;br /&gt;
Variable [=] MPM_MULT(Variable, Variable)	Performs a “matrix population model” &lt;br /&gt;
	(MPM) integer-based multiplication. &lt;br /&gt;
	Assumes that first matrix is two-dimensional &lt;br /&gt;
	and that second is a vector. The result is &lt;br /&gt;
	two-dimensional, where entries above &lt;br /&gt;
	diagonal represent &amp;quot;offspring&amp;quot;, entries on the&lt;br /&gt;
	diagonal represent &amp;quot;survivors&amp;quot; and entries &lt;br /&gt;
	below the diagonal represent &amp;quot;succeeders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Variable [=] CONTAG(Variable, Variable)	Creates a “temporal contagion” matrix. &lt;br /&gt;
	Given probabilities (first parameter) for a set&lt;br /&gt;
	of states and a two-dimensional contagion &lt;br /&gt;
	array (values –1 to 1 indicating affinity), &lt;br /&gt;
	generates a matrix where each row is a prob. &lt;br /&gt;
	dist. For transitions given the row value, and &lt;br /&gt;
	the overall target dist. will be met.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Matrix Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE== &lt;br /&gt;
ALL(LinkedVariable)	clears variable. No return value&lt;br /&gt;
SIZE(LinkedVariable)	number of elements, entries or nodes&lt;br /&gt;
==IS EMPTY==&lt;br /&gt;
(LinkedVariable)	TRUE if and only if variable has 0 elements&lt;br /&gt;
 [[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIRST==&lt;br /&gt;
(LinkedVariable)	returns position of first element, entry or&lt;br /&gt;
	node[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	following position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==PREV==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	preceding position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==REMOVE==&lt;br /&gt;
(LinkedVariable, PosVariable)	remove and deletes element, entry or node &lt;br /&gt;
	at position&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET(LinkedVariable, PosVariable)	get element, entry or node at position&lt;br /&gt;
X [=] GET(LinkedVariable, PosVariable, Index)	get single value in a given index&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, Variable)	set element, entry or node at position&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	set value at specified index of element,&lt;br /&gt;
	entry or node at position[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND==&lt;br /&gt;
(LinkedVariable, , TmpVariable Condition)	return first position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable, TmpVariable, Condition)	&lt;br /&gt;
	return next position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==SORT==&lt;br /&gt;
(LinkedVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	sort elements, entries or nodes according to &lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
&lt;br /&gt;
==CONTAINS==&lt;br /&gt;
(SetVariable, ElementVariable)	TRUE if and only if set variable “contains” &lt;br /&gt;
	variable provided, where two elements are &lt;br /&gt;
	identical if they have identical values[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
==INSERT==&lt;br /&gt;
(SetVariable, ElementVariable)	add element to set. Only changes set if it &lt;br /&gt;
	doesn’t already contain the element&lt;br /&gt;
SetVariable = UNION(Set1, Set2)	take union of two set variables&lt;br /&gt;
SetVariable = INTERSECTION(Sete1, Set2)	take intersection of two set variables&lt;br /&gt;
SetVariable = SUBTRACT(Sete1, Set2)	subtract second set variable from first&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
(ListVariable)	returns position of first entry [[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==TAIL==&lt;br /&gt;
(ListVariable)	returns position of last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT HEAD==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to front of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT TAIL==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to end of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT BEFORE==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry before given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AFTER==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry after given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AT==(ListVariable, Index, EntryElement)	add an entry at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE HEAD==(ListVariable)	removes and deletes first entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE TAIL== (ListVariable)	removes and deletes last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE AT INDEX==(ListVariable, Index)	removes and deletes entry at given index&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET HEAD(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET TAIL(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET AT INDEX(ListVariable, Index)	returns entry at given index&lt;br /&gt;
Pos = POS AT INDEX(ListVariable, Index)	returns position at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
&lt;br /&gt;
==ADD ROOT==(TreeVariable, EntryElement)	add root element of a tree&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT LEFT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the left of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT RIGHT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the right of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT CHILD==(TreeVariable, PosVariable, EntryElement, Index)&lt;br /&gt;
	add child to a node at given index (from&lt;br /&gt;
	left)&lt;br /&gt;
&lt;br /&gt;
n = CHILDREN(TreeVariable, PosVariable)	number of children at a given position&lt;br /&gt;
Pos = PARENT(TreeVariable, PosVariable)	Position of parent of a node&lt;br /&gt;
Pos = LEFT CHILD(TreeVariable, PosVariable)	Position of leftmost child of a node&lt;br /&gt;
Pos = RIGHT CHILD(TreeVariable, PosVariable)	Position of rightmost child of a node&lt;br /&gt;
Pos = CHILD(TreeVariable, PosVariable, Index)	Position of indexed (from left) child of a &lt;br /&gt;
	node&lt;br /&gt;
Pos = NEXT SIBLING(TreeVariable, PosVariable)	Position of next sibling to right of a node&lt;br /&gt;
Pos = PREV SIBLING(TreeVariable, PosVariable)	Position of previous  sibling to right of a &lt;br /&gt;
node&lt;br /&gt;
&lt;br /&gt;
Pos = NEXT DFS(TreeVariable, PosVariable)	Position of next node in depth-first&lt;br /&gt;
	pre-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Pos = NEXT POSTORDER DFS(TreeVariable, PosVariable)&lt;br /&gt;
	Position of next node in depth-first&lt;br /&gt;
	post-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Variable [=] GET LEFT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of leftmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET RIGHT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of rightmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET CHILD(TreeVariable, PosVariable, Index)&lt;br /&gt;
	returns entry of child with given index&lt;br /&gt;
	(from left) for a given node&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE ALL LINKS==&lt;br /&gt;
(GraphVariable) 	clears links of a graph variable&lt;br /&gt;
==SIZE LINKS==&lt;br /&gt;
(GraphVariable)	number of links in graph&lt;br /&gt;
==IS EMPTY LINKS==&lt;br /&gt;
(GraphVariable)	TRUE if and only if graph has 0 links&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIRST LINK==&lt;br /&gt;
(GraphVariable)	returns position of first link[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link following position&lt;br /&gt;
	provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==PREV LINK== &lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link preceding position&lt;br /&gt;
	provided&lt;br /&gt;
Variable [=] GET LINK(GraphVariable, PosVariable)&lt;br /&gt;
	get link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==CONTAINS LINK==&lt;br /&gt;
(GraphVariable, LinkVariable)	TRUE if and only if graph variable contains &lt;br /&gt;
	variable provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==REMOVE LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	remove and deletes link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, LinkVariable)&lt;br /&gt;
	 Set link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	Set value at specified index of link at&lt;br /&gt;
	position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND LINK==&lt;br /&gt;
(GraphVariable, TmpVariable, Condition)&lt;br /&gt;
	Return first position of link that satisfies the&lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable, TmpVariable, Condition)&lt;br /&gt;
	Return next position of a link that satisfies &lt;br /&gt;
	the condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SORT LINKS==&lt;br /&gt;
(GraphVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	Sort links according to condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==LINKED==&lt;br /&gt;
(GraphVariable, NodeVariable1, NodeVariable2, LinkType)&lt;br /&gt;
	TRUE if the nodes are linked. Set LinkType &lt;br /&gt;
	to 0 for direct links and 1 for indirect&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Language_Reference&amp;diff=2142</id>
		<title>Language Reference</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Language_Reference&amp;diff=2142"/>
		<updated>2006-10-04T21:33:23Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ABSOLUTE==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
==Expr % Expr==&lt;br /&gt;
	value of the first expression modulo the value of&lt;br /&gt;
	the second expression (assumes that the values&lt;br /&gt;
	of the expressions are integers)&lt;br /&gt;
&lt;br /&gt;
==AND==		&lt;br /&gt;
TRUE (1) if all sub-expressions evaluate to&lt;br /&gt;
		TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ARCCOS==(Expr)	inverse cos of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCSIN==&lt;br /&gt;
(Expr)	inverse sine of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr)	inverse tan of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr, Expr)	inverse tan where first expression is x offset&lt;br /&gt;
		and second is y offset. Providing two &lt;br /&gt;
		expressions gives more information about the &lt;br /&gt;
		quadrant.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==BITWISE OR==&lt;br /&gt;
(Expr, Expr)	Bitwise OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE AND==&lt;br /&gt;
(Expr, Expr)	Bitwise AND of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE XOR==&lt;br /&gt;
(Expr, Expr)	Bitwise exclusive-OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE NOT==&lt;br /&gt;
 Expr	Bitwise NOT of a value[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
(Expr)	base of the natural logarithm (e) to the power of&lt;br /&gt;
	the expression&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CEILING==&lt;br /&gt;
(Expr)	smallest integer larger than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLAMP==&lt;br /&gt;
(Expr, MinExpr, MaxExpr)	clamp the value X of the expression to the range&lt;br /&gt;
			[Min, Max]: if X &amp;lt; Min then return Min; if  			X &amp;lt; Max return Max. Otherwise return X.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	if the value of the variable X is equal to one of &lt;br /&gt;
	CLASS Number: Expr	the classes listed, then return the result of the.&lt;br /&gt;
	   :	associated expression. Otherwise return 0.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	return the result of the kth expression in the list,&lt;br /&gt;
Expr	where k = X – minimum value of the variables&lt;br /&gt;
   :	(this may be non-0 only for layers)&lt;br /&gt;
   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): ( Number+)	return the kth number in the list, where &lt;br /&gt;
		k = X – minimum value of the variable (this&lt;br /&gt;
may be non-0 only for layers)[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. Rarely&lt;br /&gt;
		used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file. Rarely used.&lt;br /&gt;
&lt;br /&gt;
Classified functions use the variable as an index into the list of numbers or expressions that follow. The “CLASS” keyword is optional.  This variable must be non-negative. If “CLASS # :” is used, then the number refers to the value of the indexing variable. If a class is not specified for a given value, its expression is implicitly ZERO.  Interpolation tables are very similar except that the variable is assumed to be continuous instead of classified.  An interpolated value between classes is returned.  Lookup tables are also similar, except that both the variable and classes are assumed to be continuous values. An interpolated value between classes is also returned. Rarely used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
draw a value from a discrete distribution, where 	CLASS Number: Expr	each expression determines the relative  		:	probability of its associated class being drawn. ENDFN		The CLASS keyword is optional.&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
( Number+)	in this form, the classes are assumed to start at 			zero. Only constant probabilities can be given.&lt;br /&gt;
==CLASSIFIED_DIST==	&lt;br /&gt;
in this form, the classes are assumed to start at Expr		zero    :&lt;br /&gt;
ENDFN&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST[M]==&lt;br /&gt;
In this form, the classes in a one-dimensional&lt;br /&gt;
			array M, and so start at zero.&lt;br /&gt;
==COS==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return cos(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CRITICAL SECTION==&lt;br /&gt;
(Flag)	Enter (if Flag is TRUE) or exit (if Flag is 			FALSE) a critical section. A critical section 			gives priority to this application, and is used for&lt;br /&gt;
			synchronizing access to shared variables&lt;br /&gt;
(i.e. shared with another application).[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DEBUG==&lt;br /&gt;
		Update the simulation probe, if it is loaded and&lt;br /&gt;
			The event is selected. Used to debug/verify&lt;br /&gt;
			event behaviour.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	approximation of line between end cells&lt;br /&gt;
Cost surface and least-cost path regions are advanced features that are best understood with an example model.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	known location indices. If there is a decision expression, then only those cells for which this &lt;br /&gt;
		expression returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr	location indices stored in one-dimensional X. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr location index. If there is a decision expression,&lt;br /&gt;
		then only those cells for which this expression&lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
DistanceType is either CARDINAL or EUCLIDEAN (the default). Cardinal distance between two cells is the minimum number of cardinal steps (up, down, left, right) to reach one cell from the other. Euclidean distance is the straight-line distance between two points. The WRAPPED flag, if present indicates that the region wraps around the sides (vertically and horizontally) of the landscape (e.g. a location x positions beyond the right-hand side of a raster will be mapped to x positions in from the left-hand side of the raster). If not present, the landscape does not wrap.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DIRECTION==&lt;br /&gt;
(Expr, Expr)	angle in degrees between two location indices&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==DISPLAY==		Display on the screen the labelled 	Label: Expr	values computed with the expressions listed.&lt;br /&gt;
	      ….		If no label is given, the expression must&lt;br /&gt;
ENDFN		be a variable, and this is used for the label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
==DISPLAY==		Same as above, but only display if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	The keyword DECISION can be replaced by&lt;br /&gt;
	      ….		a “?”&lt;br /&gt;
ENDFN		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Output to the record file of output variable	the labelled values computed with the  Label: Expr	expressions listed. If no label is given, the&lt;br /&gt;
	      ….		Expression must be a variable and this is&lt;br /&gt;
ENDFN		used as label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Same as above, but only output if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	&lt;br /&gt;
	      ….		&lt;br /&gt;
ENDFN		&lt;br /&gt;
&lt;br /&gt;
==DISTANCE==&lt;br /&gt;
(Expr, Expr)	distance between two location indices (normally&lt;br /&gt;
	obtained using the Location variable). Thus,&lt;br /&gt;
	DISTANCE(loc1, loc2) is &lt;br /&gt;
	sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y))&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ELSE==&lt;br /&gt;
        expression evaluates to TRUE and the set of&lt;br /&gt;
 …	sub-expressions after the ELSE otherwise. Note &lt;br /&gt;
ENDFN	that “ELSE IF expr” forms can be strung&lt;br /&gt;
	together[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==EQUAL	TRUE== &lt;br /&gt;
(1) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==FLOOR==&lt;br /&gt;
(Expr)		largest integer smaller than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==GEOMETRIC MEAN==	&lt;br /&gt;
geometric mean of the sub-expressions  (nth &lt;br /&gt;
		root of the product for n expressions)&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
Procedural IF statement to process&lt;br /&gt;
 …	sub-expressions denoted by “…” only if the &lt;br /&gt;
ENDFN	expression evaluates to TRUE[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
        Procedural IF statement to process the first set&lt;br /&gt;
 …	of sub-expressions denoted by “…”if the &lt;br /&gt;
==IF Expr THEN Expr ELSE==&lt;br /&gt;
Expr	if value of the IF expression is TRUE (&amp;gt;= 1), 	then return the value of the THEN expression,&lt;br /&gt;
	otherwise return value of the ELSE expression&lt;br /&gt;
&lt;br /&gt;
(Expr ? Expr : Expr)	Same as above, but this form can be used as an&lt;br /&gt;
	embedded sub-expression.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	return an interpolated value where the value of&lt;br /&gt;
	CLASS Number: Number	variable X is placed between two classes or at&lt;br /&gt;
 	   :	either end of the table.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]				&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
ORDERED	same as LESS OR EQUAL&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG==&lt;br /&gt;
(Expr)	natural logarithm of the value of the expression.&lt;br /&gt;
	Logarithms in other bases can be computed as&lt;br /&gt;
	logb(x) = ln(x) / ln(b)&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal cumulative density function, where&lt;br /&gt;
			the first expression specifies the value, the &lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
==LOG NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal probability density function, where&lt;br /&gt;
			the first expression specifies the value, the&lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)  temporal log normal probability density&lt;br /&gt;
			function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table&lt;br /&gt;
		file&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr EQ Expr	TRUE if the values of the two expressions are&lt;br /&gt;
		equal; otherwise FALSE [[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr == Expr	alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment)[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr NEQ Expr	TRUE if the values are not equal; otherwise&lt;br /&gt;
		FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr != Expr	alternate form of NOT EQUAL comparison[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;lt; Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than the value of the second expression;&lt;br /&gt;
		otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;lt;= Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than or equal to the value of the second&lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;gt; Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than the value of the second &lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;gt;= Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than or equal to the value of the &lt;br /&gt;
		second expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
!Expr		Negates the expression Boolean value[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr AND Expr	TRUE if values of both expressions are&lt;br /&gt;
		TRUE and FALSE otherwise[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr OR Expr	TRUE if value of at least one expression is&lt;br /&gt;
		TRUE and FALSE otherwise&lt;br /&gt;
&lt;br /&gt;
==MAX POSITION==&lt;br /&gt;
(Expr)	Return the maximum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==MEAN==		&lt;br /&gt;
average of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
==MAX==		&lt;br /&gt;
maximum of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN== 	&lt;br /&gt;
minimum of the sub-expressions &lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN POSITION==&lt;br /&gt;
(Expr)	Return the minimum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==NEGEXP==&lt;br /&gt;
(Expr)	draw a value from a negative exponential 	distribution, where the expression specifies the&lt;br /&gt;
	mean&lt;br /&gt;
 POISSION(Expr)	draw a value from a Poisson distribution&lt;br /&gt;
&lt;br /&gt;
==NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal cumulative density function, where the 			first expression is the value, the second is the			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal probability density function, where the 			first expression is the value, the second is the  			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr) 	temporal normal probability density function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NOT EQUAL==	&lt;br /&gt;
FALSE (0) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and TRUE (1) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ONE==&lt;br /&gt;
	return 1.0&lt;br /&gt;
#Number	return value of the number specified&lt;br /&gt;
&amp;lt;Constant&amp;gt;	return value of a named constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr]	return value of a named vector constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr, Expr]	return value of a named array constant&lt;br /&gt;
&amp;lt;Macro&amp;gt;[Expr]	return value of expression at specified index&lt;br /&gt;
	in macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr)	draw a value from a normal distribution, where&lt;br /&gt;
	the first expression specifies the mean and&lt;br /&gt;
	the second specifies the standard deviation&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr, Expr)	draw a value from a skewed normal distribution, 	where the first expression specifies the mode &lt;br /&gt;
	and the second and third specify the standard &lt;br /&gt;
	deviations to the left and right of the mode &lt;br /&gt;
(Expr, Expr)	draw a value from a log normal distribution,&lt;br /&gt;
	where the first expression specifies the mean&lt;br /&gt;
	and the second specifies the standard deviation &lt;br /&gt;
	of the underlying normal distribution&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr) 	draw a value from a Weibull distribution, where&lt;br /&gt;
	the first expression specifies the beta and the&lt;br /&gt;
	second specifies alpha (Note:terminology varies&lt;br /&gt;
	between sources. The version here is equivalent&lt;br /&gt;
	to that in Excel, with reversal of parameters).&lt;br /&gt;
&lt;br /&gt;
==OR==		&lt;br /&gt;
TRUE (1) if at least one sub-expression&lt;br /&gt;
		evaluates to TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
	Halts the simulation and displays a dialog&lt;br /&gt;
	box to which the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE IF==&lt;br /&gt;
Expr	If the expression evaluates to TRUE, halts the &lt;br /&gt;
			simulation and displays a dialog box to which &lt;br /&gt;
			the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
(#Value)	Pauses the simulation for the specified number&lt;br /&gt;
			of milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE (#Value)IF== &lt;br /&gt;
Expr	If the expression evaluates to TRUE, Pauses the &lt;br /&gt;
			simulation for the specified number of &lt;br /&gt;
			milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal cumulative density function, 			where the first expression specifies the value, &lt;br /&gt;
			the second is the mode, and the third and fourth 			are the left and right standard deviations&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal probability density function,&lt;br /&gt;
	where the first expression specifies the value,&lt;br /&gt;
	the second is the mode and the third and fourth	are the standard deviations to the left and right&lt;br /&gt;
	of the mode. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)&lt;br /&gt;
			temporal skewed normal probability density &lt;br /&gt;
			function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==RECOMPUTE==	&lt;br /&gt;
Only valid in consequent expressions of &lt;br /&gt;
			ProbInit and also when ProbInit recompute flag&lt;br /&gt;
			has been set. Causes prob. surface to be&lt;br /&gt;
			recomputed before next selection&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==REGION CENTRED==&lt;br /&gt;
(Expr, Expr [,DistanceType][,WRAPPED]) &lt;br /&gt;
DECISION  Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION==&lt;br /&gt;
(Expr)&lt;br /&gt;
DECISION Expr	              defines the region consisting of a of a single&lt;br /&gt;
                              location index. If there is a decision &lt;br /&gt;
                              expression, then only those cells for which &lt;br /&gt;
                              this expression returns TRUE will be    &lt;br /&gt;
                              included.&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==&lt;br /&gt;
(Number+)	defines the region consisting of a set of ????&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==(X,n)	defines the region consisting of a set of n&lt;br /&gt;
&lt;br /&gt;
==REGION RECT== &lt;br /&gt;
(Expr, Expr, Expr, Expr)	defines a rectangular region. If there is a&lt;br /&gt;
	DECISION Expr	decision expression defined, then only those&lt;br /&gt;
		cells for which this expression returns&lt;br /&gt;
		TRUE will be included&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION VECTOR== (StartLocation, EndLocation)	defines region consisting of cells along an&lt;br /&gt;
&lt;br /&gt;
==REGION WHOLE MAP==	&lt;br /&gt;
defines the region consisting of the entire&lt;br /&gt;
	DECISION Expr	landscape. If there is a decision expression, &lt;br /&gt;
		then only those cells for which this expression &lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==RESIZE==&lt;br /&gt;
(Variable, Expr)	Changes size (number of entries) in a global&lt;br /&gt;
			variable. Values are not maintained. Useful for &lt;br /&gt;
			when size is not known prior to simulation.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==RESPONSE==&lt;br /&gt;
(Expr, #A, #B, #C)	two-sided version of a standard response &lt;br /&gt;
function for the value X of the first expression: &lt;br /&gt;
if (X &amp;lt; A) return e^(-(X-A)^2/(2*(C^2))&lt;br /&gt;
			else if (X &amp;gt; B) return e^(-(X-B)^2/(2*(C^2))&lt;br /&gt;
			else return 1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ROUND==&lt;br /&gt;
(Expr)	expression value rounded to the nearest integer[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SEED()==&lt;br /&gt;
		Gets the random number seed[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==SEED==&lt;br /&gt;
(Expr)		Sets the random number seed. Value returned is &lt;br /&gt;
			next seed.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList, #Type)	Set the value specified by the expression, at &lt;br /&gt;
		the positions in PositionList to: FALSE (0) &lt;br /&gt;
		if Type is 0, TRUE (1) if Type is 1,&lt;br /&gt;
		and flip the bits if Type = 2&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList,#Type,#Prob)	Same as above, except each position is set&lt;br /&gt;
		with probability #Prob&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SELECTAT==&lt;br /&gt;
(Expr, PositionList)	FALSE(0) if none of the bits in PositionList are&lt;br /&gt;
		set in the specified expression value and&lt;br /&gt;
		TRUE(1) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SHIFT LEFT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the left by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SHIFT RIGHT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the right by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SIN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return sin(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SUM==&lt;br /&gt;
DESCRIPTION: &lt;br /&gt;
Returns the number that is the sum of all the expressions.&lt;br /&gt;
&lt;br /&gt;
USAGE: &lt;br /&gt;
   x=SUM &lt;br /&gt;
       Expr&lt;br /&gt;
       ...  &lt;br /&gt;
     ENDFN&lt;br /&gt;
&lt;br /&gt;
REQUIRED ARGUMENTS:&lt;br /&gt;
Expr is any expression that evaluates to single numeric value.&lt;br /&gt;
&lt;br /&gt;
VALUE: &lt;br /&gt;
the sum of all the arguments.&lt;br /&gt;
&lt;br /&gt;
SEE ALSO: &lt;br /&gt;
&amp;lt;a link to the composite functions section of seles modellers guide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXAMPLES: &amp;lt;add carriage return here&amp;gt;&lt;br /&gt;
Example 1:&lt;br /&gt;
   y = 3&lt;br /&gt;
   x = SUM  &lt;br /&gt;
         y  &lt;br /&gt;
         y+2  &lt;br /&gt;
         5  &lt;br /&gt;
       ENDFN &lt;br /&gt;
&amp;lt;figure out an end example indicator. For example, ***&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAMPLE MODELS: &lt;br /&gt;
&amp;lt;links to sample models where this function is used&amp;gt;&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
DIVIDE	successive division of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==STRICT ORDERED==	&lt;br /&gt;
same as LESS THAN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==TAN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return tan(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==UNIFORM==&lt;br /&gt;
(Expr, Expr)	draw a value from a uniform distribution, where 	the first expression determines the minimum	 	value and the second determines the maximum&lt;br /&gt;
&lt;br /&gt;
==UNIFORM TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	temporal uniform probability density expression&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variable&amp;gt;	value of an independent variable &amp;lt;Variable&amp;gt;[Expr]	value of a vector global variable&lt;br /&gt;
&amp;lt;Variable&amp;gt;[Expr, Expr]	value of an array global variable&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
(Expr)	value of the expression Expr + Expr	sum of two expressions Expr - Expr	value of the first expression minus the value&lt;br /&gt;
	of the second expression Expr * Expr	product of two expressions Expr / Expr	value of the first expression divided by value&lt;br /&gt;
	of the second expression  Expr ^ Expr	value of the first expression to the power of&lt;br /&gt;
	the value of the second expression. An nth&lt;br /&gt;
	root can be computed with1/n as the power.&lt;br /&gt;
| Expr |	absolute value of the expression &lt;br /&gt;
&lt;br /&gt;
==WAIT UNTIL==&lt;br /&gt;
Expr	Suspend execution until the expression returns 			TRUE (1). This is intended for controlling&lt;br /&gt;
			communication and synchronization with&lt;br /&gt;
			an external application. [[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==WHILE==&lt;br /&gt;
Expr	While loop: process sub-expressions denoted by&lt;br /&gt;
 …	 “…” while the expression evaluates to TRUE&lt;br /&gt;
ENDFN	&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==ZERO==&lt;br /&gt;
	return 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==&lt;br /&gt;
(StartLocation, EndLocation)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs)&lt;br /&gt;
	DECISION Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
		Defines a region with cells that approximate&lt;br /&gt;
		the least-cost path between two cells. The&lt;br /&gt;
		first generates the cost function internally.&lt;br /&gt;
		The latter two use input information from a&lt;br /&gt;
		pre-computed cost surface region. Providing &lt;br /&gt;
		both the gradient and anchor location layers &lt;br /&gt;
		provides the most accurate approximation.&lt;br /&gt;
&lt;br /&gt;
Iteration is a common aspect of models (even if it is very procedural). Most programming languages offer a “for-loop” of some kind. SELES presently provides “over index sequence” expressions as a slightly more declarative (although also more cumbersome) expression for iterating. While-loops can also be used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==OVER INDEX SEQUENCE==&lt;br /&gt;
(Expr, Expr)	defines linear sequence of location indices. &lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns &lt;br /&gt;
		TRUE will be included.  The system variable &lt;br /&gt;
		Index holds the value of the index at each value &lt;br /&gt;
		in the sequence&lt;br /&gt;
&lt;br /&gt;
Over region expressions are very frequently used to visit all cells in a landscape that meet some condition (e.g. to compute the size of the forest at initiation).&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
OVER RegionFunction	Apply a set of sub-expressions at all spatial&lt;br /&gt;
   Expression	locations specified by a region function&lt;br /&gt;
	        :&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
AT LOCATION #Expr	Apply a set of state-changes at a specified&lt;br /&gt;
   Expression	location&lt;br /&gt;
	:&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
Matrix assignment is indicated using “[=]” instead of “=”.  The proper dimensions of the component arrays must be met.&lt;br /&gt;
&lt;br /&gt;
Variable [=] Variable	assign variable of same dimension, or a &lt;br /&gt;
	single value to all entries&lt;br /&gt;
Variable [=] Variable + Variable	sum variables of same dimension (or with a &lt;br /&gt;
	constant)&lt;br /&gt;
Variable [=] Variable - Variable	subtract variables of same dimension (or&lt;br /&gt;
	with a constant)&lt;br /&gt;
Variable [=] Variable * Variable	matrix or scalar multiplication. &lt;br /&gt;
&lt;br /&gt;
Variable [=] TRANSPOSE(Variable)	matrix transposition&lt;br /&gt;
Variable [=] Variable^-1	invert a matrix&lt;br /&gt;
Variable = SUM(Variable)	sum all entries in a matrix&lt;br /&gt;
Variable [=] SUM ROWS (Variable)	sum all rows of a matrix (result has one&lt;br /&gt;
	value per column)&lt;br /&gt;
Variable [=] SUM COLS(Variable)	sum all columns of a matrix&lt;br /&gt;
&lt;br /&gt;
Variables [=] SORT(Variable, Expr)	sort rows of an input matrix where rank is &lt;br /&gt;
	given by Expr. The system variable “Index” &lt;br /&gt;
	can appear in the expression and will take on&lt;br /&gt;
	the range of indices in the input array. The &lt;br /&gt;
	resulting sorted matrix will be assigned.&lt;br /&gt;
&lt;br /&gt;
Variable [=] MPM_MULT(Variable, Variable)	Performs a “matrix population model” &lt;br /&gt;
	(MPM) integer-based multiplication. &lt;br /&gt;
	Assumes that first matrix is two-dimensional &lt;br /&gt;
	and that second is a vector. The result is &lt;br /&gt;
	two-dimensional, where entries above &lt;br /&gt;
	diagonal represent &amp;quot;offspring&amp;quot;, entries on the&lt;br /&gt;
	diagonal represent &amp;quot;survivors&amp;quot; and entries &lt;br /&gt;
	below the diagonal represent &amp;quot;succeeders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Variable [=] CONTAG(Variable, Variable)	Creates a “temporal contagion” matrix. &lt;br /&gt;
	Given probabilities (first parameter) for a set&lt;br /&gt;
	of states and a two-dimensional contagion &lt;br /&gt;
	array (values –1 to 1 indicating affinity), &lt;br /&gt;
	generates a matrix where each row is a prob. &lt;br /&gt;
	dist. For transitions given the row value, and &lt;br /&gt;
	the overall target dist. will be met.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Matrix Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE== &lt;br /&gt;
ALL(LinkedVariable)	clears variable. No return value&lt;br /&gt;
SIZE(LinkedVariable)	number of elements, entries or nodes&lt;br /&gt;
==IS EMPTY==&lt;br /&gt;
(LinkedVariable)	TRUE if and only if variable has 0 elements&lt;br /&gt;
 [[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIRST==&lt;br /&gt;
(LinkedVariable)	returns position of first element, entry or&lt;br /&gt;
	node[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	following position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==PREV==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	preceding position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==REMOVE==&lt;br /&gt;
(LinkedVariable, PosVariable)	remove and deletes element, entry or node &lt;br /&gt;
	at position&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET(LinkedVariable, PosVariable)	get element, entry or node at position&lt;br /&gt;
X [=] GET(LinkedVariable, PosVariable, Index)	get single value in a given index&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, Variable)	set element, entry or node at position&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	set value at specified index of element,&lt;br /&gt;
	entry or node at position[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND==&lt;br /&gt;
(LinkedVariable, , TmpVariable Condition)	return first position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable, TmpVariable, Condition)	&lt;br /&gt;
	return next position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==SORT==&lt;br /&gt;
(LinkedVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	sort elements, entries or nodes according to &lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
&lt;br /&gt;
==CONTAINS==&lt;br /&gt;
(SetVariable, ElementVariable)	TRUE if and only if set variable “contains” &lt;br /&gt;
	variable provided, where two elements are &lt;br /&gt;
	identical if they have identical values[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
==INSERT==&lt;br /&gt;
(SetVariable, ElementVariable)	add element to set. Only changes set if it &lt;br /&gt;
	doesn’t already contain the element&lt;br /&gt;
SetVariable = UNION(Set1, Set2)	take union of two set variables&lt;br /&gt;
SetVariable = INTERSECTION(Sete1, Set2)	take intersection of two set variables&lt;br /&gt;
SetVariable = SUBTRACT(Sete1, Set2)	subtract second set variable from first&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
(ListVariable)	returns position of first entry [[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==TAIL==&lt;br /&gt;
(ListVariable)	returns position of last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT HEAD==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to front of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT TAIL==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to end of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT BEFORE==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry before given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AFTER==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry after given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AT==(ListVariable, Index, EntryElement)	add an entry at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE HEAD==(ListVariable)	removes and deletes first entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE TAIL== (ListVariable)	removes and deletes last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE AT INDEX==(ListVariable, Index)	removes and deletes entry at given index&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET HEAD(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET TAIL(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET AT INDEX(ListVariable, Index)	returns entry at given index&lt;br /&gt;
Pos = POS AT INDEX(ListVariable, Index)	returns position at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
&lt;br /&gt;
==ADD ROOT==(TreeVariable, EntryElement)	add root element of a tree&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT LEFT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the left of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT RIGHT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the right of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT CHILD==(TreeVariable, PosVariable, EntryElement, Index)&lt;br /&gt;
	add child to a node at given index (from&lt;br /&gt;
	left)&lt;br /&gt;
&lt;br /&gt;
n = CHILDREN(TreeVariable, PosVariable)	number of children at a given position&lt;br /&gt;
Pos = PARENT(TreeVariable, PosVariable)	Position of parent of a node&lt;br /&gt;
Pos = LEFT CHILD(TreeVariable, PosVariable)	Position of leftmost child of a node&lt;br /&gt;
Pos = RIGHT CHILD(TreeVariable, PosVariable)	Position of rightmost child of a node&lt;br /&gt;
Pos = CHILD(TreeVariable, PosVariable, Index)	Position of indexed (from left) child of a &lt;br /&gt;
	node&lt;br /&gt;
Pos = NEXT SIBLING(TreeVariable, PosVariable)	Position of next sibling to right of a node&lt;br /&gt;
Pos = PREV SIBLING(TreeVariable, PosVariable)	Position of previous  sibling to right of a &lt;br /&gt;
node&lt;br /&gt;
&lt;br /&gt;
Pos = NEXT DFS(TreeVariable, PosVariable)	Position of next node in depth-first&lt;br /&gt;
	pre-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Pos = NEXT POSTORDER DFS(TreeVariable, PosVariable)&lt;br /&gt;
	Position of next node in depth-first&lt;br /&gt;
	post-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Variable [=] GET LEFT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of leftmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET RIGHT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of rightmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET CHILD(TreeVariable, PosVariable, Index)&lt;br /&gt;
	returns entry of child with given index&lt;br /&gt;
	(from left) for a given node&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE ALL LINKS==&lt;br /&gt;
(GraphVariable) 	clears links of a graph variable&lt;br /&gt;
==SIZE LINKS==&lt;br /&gt;
(GraphVariable)	number of links in graph&lt;br /&gt;
==IS EMPTY LINKS==&lt;br /&gt;
(GraphVariable)	TRUE if and only if graph has 0 links&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIRST LINK==&lt;br /&gt;
(GraphVariable)	returns position of first link[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link following position&lt;br /&gt;
	provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==PREV LINK== &lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link preceding position&lt;br /&gt;
	provided&lt;br /&gt;
Variable [=] GET LINK(GraphVariable, PosVariable)&lt;br /&gt;
	get link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==CONTAINS LINK==&lt;br /&gt;
(GraphVariable, LinkVariable)	TRUE if and only if graph variable contains &lt;br /&gt;
	variable provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==REMOVE LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	remove and deletes link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, LinkVariable)&lt;br /&gt;
	 Set link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	Set value at specified index of link at&lt;br /&gt;
	position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND LINK==&lt;br /&gt;
(GraphVariable, TmpVariable, Condition)&lt;br /&gt;
	Return first position of link that satisfies the&lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable, TmpVariable, Condition)&lt;br /&gt;
	Return next position of a link that satisfies &lt;br /&gt;
	the condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SORT LINKS==&lt;br /&gt;
(GraphVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	Sort links according to condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==LINKED==&lt;br /&gt;
(GraphVariable, NodeVariable1, NodeVariable2, LinkType)&lt;br /&gt;
	TRUE if the nodes are linked. Set LinkType &lt;br /&gt;
	to 0 for direct links and 1 for indirect&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Language_Reference&amp;diff=2141</id>
		<title>Language Reference</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Language_Reference&amp;diff=2141"/>
		<updated>2006-10-04T21:32:17Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ABSOLUTE==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
==Expr % Expr==&lt;br /&gt;
	value of the first expression modulo the value of&lt;br /&gt;
	the second expression (assumes that the values&lt;br /&gt;
	of the expressions are integers)&lt;br /&gt;
&lt;br /&gt;
==AND==		&lt;br /&gt;
TRUE (1) if all sub-expressions evaluate to&lt;br /&gt;
		TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ARCCOS==(Expr)	inverse cos of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCSIN==&lt;br /&gt;
(Expr)	inverse sine of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr)	inverse tan of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr, Expr)	inverse tan where first expression is x offset&lt;br /&gt;
		and second is y offset. Providing two &lt;br /&gt;
		expressions gives more information about the &lt;br /&gt;
		quadrant.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==BITWISE OR==&lt;br /&gt;
(Expr, Expr)	Bitwise OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE AND==&lt;br /&gt;
(Expr, Expr)	Bitwise AND of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE XOR==&lt;br /&gt;
(Expr, Expr)	Bitwise exclusive-OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE NOT==&lt;br /&gt;
 Expr	Bitwise NOT of a value[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
(Expr)	base of the natural logarithm (e) to the power of&lt;br /&gt;
	the expression&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CEILING==&lt;br /&gt;
(Expr)	smallest integer larger than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLAMP==&lt;br /&gt;
(Expr, MinExpr, MaxExpr)	clamp the value X of the expression to the range&lt;br /&gt;
			[Min, Max]: if X &amp;lt; Min then return Min; if  			X &amp;lt; Max return Max. Otherwise return X.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	if the value of the variable X is equal to one of &lt;br /&gt;
	CLASS Number: Expr	the classes listed, then return the result of the.&lt;br /&gt;
	   :	associated expression. Otherwise return 0.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	return the result of the kth expression in the list,&lt;br /&gt;
Expr	where k = X – minimum value of the variables&lt;br /&gt;
   :	(this may be non-0 only for layers)&lt;br /&gt;
   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): ( Number+)	return the kth number in the list, where &lt;br /&gt;
		k = X – minimum value of the variable (this&lt;br /&gt;
may be non-0 only for layers)[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. Rarely&lt;br /&gt;
		used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file. Rarely used.&lt;br /&gt;
&lt;br /&gt;
Classified functions use the variable as an index into the list of numbers or expressions that follow. The “CLASS” keyword is optional.  This variable must be non-negative. If “CLASS # :” is used, then the number refers to the value of the indexing variable. If a class is not specified for a given value, its expression is implicitly ZERO.  Interpolation tables are very similar except that the variable is assumed to be continuous instead of classified.  An interpolated value between classes is returned.  Lookup tables are also similar, except that both the variable and classes are assumed to be continuous values. An interpolated value between classes is also returned. Rarely used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
draw a value from a discrete distribution, where 	CLASS Number: Expr	each expression determines the relative  		:	probability of its associated class being drawn. ENDFN		The CLASS keyword is optional.&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
( Number+)	in this form, the classes are assumed to start at 			zero. Only constant probabilities can be given.&lt;br /&gt;
==CLASSIFIED_DIST==	&lt;br /&gt;
in this form, the classes are assumed to start at Expr		zero    :&lt;br /&gt;
ENDFN&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST[M]==&lt;br /&gt;
In this form, the classes in a one-dimensional&lt;br /&gt;
			array M, and so start at zero.&lt;br /&gt;
==COS==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return cos(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CRITICAL SECTION==&lt;br /&gt;
(Flag)	Enter (if Flag is TRUE) or exit (if Flag is 			FALSE) a critical section. A critical section 			gives priority to this application, and is used for&lt;br /&gt;
			synchronizing access to shared variables&lt;br /&gt;
(i.e. shared with another application).[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DEBUG==&lt;br /&gt;
		Update the simulation probe, if it is loaded and&lt;br /&gt;
			The event is selected. Used to debug/verify&lt;br /&gt;
			event behaviour.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	approximation of line between end cells&lt;br /&gt;
Cost surface and least-cost path regions are advanced features that are best understood with an example model.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	known location indices. If there is a decision expression, then only those cells for which this &lt;br /&gt;
		expression returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr	location indices stored in one-dimensional X. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr location index. If there is a decision expression,&lt;br /&gt;
		then only those cells for which this expression&lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
DistanceType is either CARDINAL or EUCLIDEAN (the default). Cardinal distance between two cells is the minimum number of cardinal steps (up, down, left, right) to reach one cell from the other. Euclidean distance is the straight-line distance between two points. The WRAPPED flag, if present indicates that the region wraps around the sides (vertically and horizontally) of the landscape (e.g. a location x positions beyond the right-hand side of a raster will be mapped to x positions in from the left-hand side of the raster). If not present, the landscape does not wrap.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DIRECTION==&lt;br /&gt;
(Expr, Expr)	angle in degrees between two location indices&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==DISPLAY==		Display on the screen the labelled 	Label: Expr	values computed with the expressions listed.&lt;br /&gt;
	      ….		If no label is given, the expression must&lt;br /&gt;
ENDFN		be a variable, and this is used for the label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
==DISPLAY==		Same as above, but only display if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	The keyword DECISION can be replaced by&lt;br /&gt;
	      ….		a “?”&lt;br /&gt;
ENDFN		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Output to the record file of output variable	the labelled values computed with the  Label: Expr	expressions listed. If no label is given, the&lt;br /&gt;
	      ….		Expression must be a variable and this is&lt;br /&gt;
ENDFN		used as label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Same as above, but only output if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	&lt;br /&gt;
	      ….		&lt;br /&gt;
ENDFN		&lt;br /&gt;
&lt;br /&gt;
==DISTANCE==&lt;br /&gt;
(Expr, Expr)	distance between two location indices (normally&lt;br /&gt;
	obtained using the Location variable). Thus,&lt;br /&gt;
	DISTANCE(loc1, loc2) is &lt;br /&gt;
	sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y))&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ELSE==&lt;br /&gt;
        expression evaluates to TRUE and the set of&lt;br /&gt;
 …	sub-expressions after the ELSE otherwise. Note &lt;br /&gt;
ENDFN	that “ELSE IF expr” forms can be strung&lt;br /&gt;
	together[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==EQUAL	TRUE== &lt;br /&gt;
(1) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==FLOOR==&lt;br /&gt;
(Expr)		largest integer smaller than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==GEOMETRIC MEAN==	&lt;br /&gt;
geometric mean of the sub-expressions  (nth &lt;br /&gt;
		root of the product for n expressions)&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
Procedural IF statement to process&lt;br /&gt;
 …	sub-expressions denoted by “…” only if the &lt;br /&gt;
ENDFN	expression evaluates to TRUE[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
        Procedural IF statement to process the first set&lt;br /&gt;
 …	of sub-expressions denoted by “…”if the &lt;br /&gt;
==IF Expr THEN Expr ELSE==&lt;br /&gt;
Expr	if value of the IF expression is TRUE (&amp;gt;= 1), 	then return the value of the THEN expression,&lt;br /&gt;
	otherwise return value of the ELSE expression&lt;br /&gt;
&lt;br /&gt;
(Expr ? Expr : Expr)	Same as above, but this form can be used as an&lt;br /&gt;
	embedded sub-expression.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	return an interpolated value where the value of&lt;br /&gt;
	CLASS Number: Number	variable X is placed between two classes or at&lt;br /&gt;
 	   :	either end of the table.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]				&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
ORDERED	same as LESS OR EQUAL&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG==&lt;br /&gt;
(Expr)	natural logarithm of the value of the expression.&lt;br /&gt;
	Logarithms in other bases can be computed as&lt;br /&gt;
	logb(x) = ln(x) / ln(b)&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal cumulative density function, where&lt;br /&gt;
			the first expression specifies the value, the &lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
==LOG NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal probability density function, where&lt;br /&gt;
			the first expression specifies the value, the&lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)  temporal log normal probability density&lt;br /&gt;
			function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table&lt;br /&gt;
		file&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr EQ Expr	TRUE if the values of the two expressions are&lt;br /&gt;
		equal; otherwise FALSE [[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr == Expr	alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment)[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr NEQ Expr	TRUE if the values are not equal; otherwise&lt;br /&gt;
		FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr != Expr	alternate form of NOT EQUAL comparison[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;lt; Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than the value of the second expression;&lt;br /&gt;
		otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;lt;= Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than or equal to the value of the second&lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;gt; Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than the value of the second &lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;gt;= Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than or equal to the value of the &lt;br /&gt;
		second expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
!Expr		Negates the expression Boolean value[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr AND Expr	TRUE if values of both expressions are&lt;br /&gt;
		TRUE and FALSE otherwise[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr OR Expr	TRUE if value of at least one expression is&lt;br /&gt;
		TRUE and FALSE otherwise&lt;br /&gt;
&lt;br /&gt;
==MAX POSITION==&lt;br /&gt;
(Expr)	Return the maximum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==MEAN==		&lt;br /&gt;
average of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
==MAX==		&lt;br /&gt;
maximum of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN== 	&lt;br /&gt;
minimum of the sub-expressions &lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN POSITION==&lt;br /&gt;
(Expr)	Return the minimum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==NEGEXP==&lt;br /&gt;
(Expr)	draw a value from a negative exponential 	distribution, where the expression specifies the&lt;br /&gt;
	mean&lt;br /&gt;
 POISSION(Expr)	draw a value from a Poisson distribution&lt;br /&gt;
&lt;br /&gt;
==NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal cumulative density function, where the 			first expression is the value, the second is the			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal probability density function, where the 			first expression is the value, the second is the  			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr) 	temporal normal probability density function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NOT EQUAL==	&lt;br /&gt;
FALSE (0) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and TRUE (1) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ONE==&lt;br /&gt;
	return 1.0&lt;br /&gt;
#Number	return value of the number specified&lt;br /&gt;
&amp;lt;Constant&amp;gt;	return value of a named constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr]	return value of a named vector constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr, Expr]	return value of a named array constant&lt;br /&gt;
&amp;lt;Macro&amp;gt;[Expr]	return value of expression at specified index&lt;br /&gt;
	in macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr)	draw a value from a normal distribution, where&lt;br /&gt;
	the first expression specifies the mean and&lt;br /&gt;
	the second specifies the standard deviation&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr, Expr)	draw a value from a skewed normal distribution, 	where the first expression specifies the mode &lt;br /&gt;
	and the second and third specify the standard &lt;br /&gt;
	deviations to the left and right of the mode &lt;br /&gt;
(Expr, Expr)	draw a value from a log normal distribution,&lt;br /&gt;
	where the first expression specifies the mean&lt;br /&gt;
	and the second specifies the standard deviation &lt;br /&gt;
	of the underlying normal distribution&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr) 	draw a value from a Weibull distribution, where&lt;br /&gt;
	the first expression specifies the beta and the&lt;br /&gt;
	second specifies alpha (Note:terminology varies&lt;br /&gt;
	between sources. The version here is equivalent&lt;br /&gt;
	to that in Excel, with reversal of parameters).&lt;br /&gt;
&lt;br /&gt;
==OR==		&lt;br /&gt;
TRUE (1) if at least one sub-expression&lt;br /&gt;
		evaluates to TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
	Halts the simulation and displays a dialog&lt;br /&gt;
	box to which the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE IF==&lt;br /&gt;
Expr	If the expression evaluates to TRUE, halts the &lt;br /&gt;
			simulation and displays a dialog box to which &lt;br /&gt;
			the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
(#Value)	Pauses the simulation for the specified number&lt;br /&gt;
			of milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE (#Value)IF== &lt;br /&gt;
Expr	If the expression evaluates to TRUE, Pauses the &lt;br /&gt;
			simulation for the specified number of &lt;br /&gt;
			milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal cumulative density function, 			where the first expression specifies the value, &lt;br /&gt;
			the second is the mode, and the third and fourth 			are the left and right standard deviations&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal probability density function,&lt;br /&gt;
	where the first expression specifies the value,&lt;br /&gt;
	the second is the mode and the third and fourth	are the standard deviations to the left and right&lt;br /&gt;
	of the mode. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)&lt;br /&gt;
			temporal skewed normal probability density &lt;br /&gt;
			function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==RECOMPUTE==	&lt;br /&gt;
Only valid in consequent expressions of &lt;br /&gt;
			ProbInit and also when ProbInit recompute flag&lt;br /&gt;
			has been set. Causes prob. surface to be&lt;br /&gt;
			recomputed before next selection&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==REGION CENTRED==&lt;br /&gt;
(Expr, Expr [,DistanceType][,WRAPPED]) &lt;br /&gt;
DECISION  Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION==(Expr)&lt;br /&gt;
DECISION Expr	              defines the region consisting of a of a single&lt;br /&gt;
                              location index. If there is a decision &lt;br /&gt;
                              expression, then only those cells for which &lt;br /&gt;
                              this expression returns TRUE will be    &lt;br /&gt;
                              included.&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==&lt;br /&gt;
(Number+)	defines the region consisting of a set of ????&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==(X,n)	defines the region consisting of a set of n&lt;br /&gt;
&lt;br /&gt;
==REGION RECT== &lt;br /&gt;
(Expr, Expr, Expr, Expr)	defines a rectangular region. If there is a&lt;br /&gt;
	DECISION Expr	decision expression defined, then only those&lt;br /&gt;
		cells for which this expression returns&lt;br /&gt;
		TRUE will be included&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION VECTOR== (StartLocation, EndLocation)	defines region consisting of cells along an&lt;br /&gt;
&lt;br /&gt;
==REGION WHOLE MAP==	&lt;br /&gt;
defines the region consisting of the entire&lt;br /&gt;
	DECISION Expr	landscape. If there is a decision expression, &lt;br /&gt;
		then only those cells for which this expression &lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==RESIZE==&lt;br /&gt;
(Variable, Expr)	Changes size (number of entries) in a global&lt;br /&gt;
			variable. Values are not maintained. Useful for &lt;br /&gt;
			when size is not known prior to simulation.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==RESPONSE==&lt;br /&gt;
(Expr, #A, #B, #C)	two-sided version of a standard response &lt;br /&gt;
function for the value X of the first expression: &lt;br /&gt;
if (X &amp;lt; A) return e^(-(X-A)^2/(2*(C^2))&lt;br /&gt;
			else if (X &amp;gt; B) return e^(-(X-B)^2/(2*(C^2))&lt;br /&gt;
			else return 1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ROUND==&lt;br /&gt;
(Expr)	expression value rounded to the nearest integer[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SEED()==&lt;br /&gt;
		Gets the random number seed[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==SEED==&lt;br /&gt;
(Expr)		Sets the random number seed. Value returned is &lt;br /&gt;
			next seed.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList, #Type)	Set the value specified by the expression, at &lt;br /&gt;
		the positions in PositionList to: FALSE (0) &lt;br /&gt;
		if Type is 0, TRUE (1) if Type is 1,&lt;br /&gt;
		and flip the bits if Type = 2&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList,#Type,#Prob)	Same as above, except each position is set&lt;br /&gt;
		with probability #Prob&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SELECTAT==&lt;br /&gt;
(Expr, PositionList)	FALSE(0) if none of the bits in PositionList are&lt;br /&gt;
		set in the specified expression value and&lt;br /&gt;
		TRUE(1) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SHIFT LEFT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the left by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SHIFT RIGHT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the right by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SIN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return sin(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SUM==&lt;br /&gt;
DESCRIPTION: &lt;br /&gt;
Returns the number that is the sum of all the expressions.&lt;br /&gt;
&lt;br /&gt;
USAGE: &lt;br /&gt;
   x=SUM &lt;br /&gt;
       Expr&lt;br /&gt;
       ...  &lt;br /&gt;
     ENDFN&lt;br /&gt;
&lt;br /&gt;
REQUIRED ARGUMENTS:&lt;br /&gt;
Expr is any expression that evaluates to single numeric value.&lt;br /&gt;
&lt;br /&gt;
VALUE: &lt;br /&gt;
the sum of all the arguments.&lt;br /&gt;
&lt;br /&gt;
SEE ALSO: &lt;br /&gt;
&amp;lt;a link to the composite functions section of seles modellers guide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXAMPLES: &amp;lt;add carriage return here&amp;gt;&lt;br /&gt;
Example 1:&lt;br /&gt;
   y = 3&lt;br /&gt;
   x = SUM  &lt;br /&gt;
         y  &lt;br /&gt;
         y+2  &lt;br /&gt;
         5  &lt;br /&gt;
       ENDFN &lt;br /&gt;
&amp;lt;figure out an end example indicator. For example, ***&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAMPLE MODELS: &lt;br /&gt;
&amp;lt;links to sample models where this function is used&amp;gt;&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
DIVIDE	successive division of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==STRICT ORDERED==	&lt;br /&gt;
same as LESS THAN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==TAN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return tan(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==UNIFORM==&lt;br /&gt;
(Expr, Expr)	draw a value from a uniform distribution, where 	the first expression determines the minimum	 	value and the second determines the maximum&lt;br /&gt;
&lt;br /&gt;
==UNIFORM TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	temporal uniform probability density expression&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variable&amp;gt;	value of an independent variable &amp;lt;Variable&amp;gt;[Expr]	value of a vector global variable&lt;br /&gt;
&amp;lt;Variable&amp;gt;[Expr, Expr]	value of an array global variable&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
(Expr)	value of the expression Expr + Expr	sum of two expressions Expr - Expr	value of the first expression minus the value&lt;br /&gt;
	of the second expression Expr * Expr	product of two expressions Expr / Expr	value of the first expression divided by value&lt;br /&gt;
	of the second expression  Expr ^ Expr	value of the first expression to the power of&lt;br /&gt;
	the value of the second expression. An nth&lt;br /&gt;
	root can be computed with1/n as the power.&lt;br /&gt;
| Expr |	absolute value of the expression &lt;br /&gt;
&lt;br /&gt;
==WAIT UNTIL==&lt;br /&gt;
Expr	Suspend execution until the expression returns 			TRUE (1). This is intended for controlling&lt;br /&gt;
			communication and synchronization with&lt;br /&gt;
			an external application. [[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==WHILE==&lt;br /&gt;
Expr	While loop: process sub-expressions denoted by&lt;br /&gt;
 …	 “…” while the expression evaluates to TRUE&lt;br /&gt;
ENDFN	&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==ZERO==&lt;br /&gt;
	return 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==&lt;br /&gt;
(StartLocation, EndLocation)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs)&lt;br /&gt;
	DECISION Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
		Defines a region with cells that approximate&lt;br /&gt;
		the least-cost path between two cells. The&lt;br /&gt;
		first generates the cost function internally.&lt;br /&gt;
		The latter two use input information from a&lt;br /&gt;
		pre-computed cost surface region. Providing &lt;br /&gt;
		both the gradient and anchor location layers &lt;br /&gt;
		provides the most accurate approximation.&lt;br /&gt;
&lt;br /&gt;
Iteration is a common aspect of models (even if it is very procedural). Most programming languages offer a “for-loop” of some kind. SELES presently provides “over index sequence” expressions as a slightly more declarative (although also more cumbersome) expression for iterating. While-loops can also be used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==OVER INDEX SEQUENCE==&lt;br /&gt;
(Expr, Expr)	defines linear sequence of location indices. &lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns &lt;br /&gt;
		TRUE will be included.  The system variable &lt;br /&gt;
		Index holds the value of the index at each value &lt;br /&gt;
		in the sequence&lt;br /&gt;
&lt;br /&gt;
Over region expressions are very frequently used to visit all cells in a landscape that meet some condition (e.g. to compute the size of the forest at initiation).&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
OVER RegionFunction	Apply a set of sub-expressions at all spatial&lt;br /&gt;
   Expression	locations specified by a region function&lt;br /&gt;
	        :&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
AT LOCATION #Expr	Apply a set of state-changes at a specified&lt;br /&gt;
   Expression	location&lt;br /&gt;
	:&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
Matrix assignment is indicated using “[=]” instead of “=”.  The proper dimensions of the component arrays must be met.&lt;br /&gt;
&lt;br /&gt;
Variable [=] Variable	assign variable of same dimension, or a &lt;br /&gt;
	single value to all entries&lt;br /&gt;
Variable [=] Variable + Variable	sum variables of same dimension (or with a &lt;br /&gt;
	constant)&lt;br /&gt;
Variable [=] Variable - Variable	subtract variables of same dimension (or&lt;br /&gt;
	with a constant)&lt;br /&gt;
Variable [=] Variable * Variable	matrix or scalar multiplication. &lt;br /&gt;
&lt;br /&gt;
Variable [=] TRANSPOSE(Variable)	matrix transposition&lt;br /&gt;
Variable [=] Variable^-1	invert a matrix&lt;br /&gt;
Variable = SUM(Variable)	sum all entries in a matrix&lt;br /&gt;
Variable [=] SUM ROWS (Variable)	sum all rows of a matrix (result has one&lt;br /&gt;
	value per column)&lt;br /&gt;
Variable [=] SUM COLS(Variable)	sum all columns of a matrix&lt;br /&gt;
&lt;br /&gt;
Variables [=] SORT(Variable, Expr)	sort rows of an input matrix where rank is &lt;br /&gt;
	given by Expr. The system variable “Index” &lt;br /&gt;
	can appear in the expression and will take on&lt;br /&gt;
	the range of indices in the input array. The &lt;br /&gt;
	resulting sorted matrix will be assigned.&lt;br /&gt;
&lt;br /&gt;
Variable [=] MPM_MULT(Variable, Variable)	Performs a “matrix population model” &lt;br /&gt;
	(MPM) integer-based multiplication. &lt;br /&gt;
	Assumes that first matrix is two-dimensional &lt;br /&gt;
	and that second is a vector. The result is &lt;br /&gt;
	two-dimensional, where entries above &lt;br /&gt;
	diagonal represent &amp;quot;offspring&amp;quot;, entries on the&lt;br /&gt;
	diagonal represent &amp;quot;survivors&amp;quot; and entries &lt;br /&gt;
	below the diagonal represent &amp;quot;succeeders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Variable [=] CONTAG(Variable, Variable)	Creates a “temporal contagion” matrix. &lt;br /&gt;
	Given probabilities (first parameter) for a set&lt;br /&gt;
	of states and a two-dimensional contagion &lt;br /&gt;
	array (values –1 to 1 indicating affinity), &lt;br /&gt;
	generates a matrix where each row is a prob. &lt;br /&gt;
	dist. For transitions given the row value, and &lt;br /&gt;
	the overall target dist. will be met.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Matrix Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE== &lt;br /&gt;
ALL(LinkedVariable)	clears variable. No return value&lt;br /&gt;
SIZE(LinkedVariable)	number of elements, entries or nodes&lt;br /&gt;
==IS EMPTY==&lt;br /&gt;
(LinkedVariable)	TRUE if and only if variable has 0 elements&lt;br /&gt;
 [[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIRST==&lt;br /&gt;
(LinkedVariable)	returns position of first element, entry or&lt;br /&gt;
	node[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	following position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==PREV==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	preceding position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==REMOVE==&lt;br /&gt;
(LinkedVariable, PosVariable)	remove and deletes element, entry or node &lt;br /&gt;
	at position&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET(LinkedVariable, PosVariable)	get element, entry or node at position&lt;br /&gt;
X [=] GET(LinkedVariable, PosVariable, Index)	get single value in a given index&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, Variable)	set element, entry or node at position&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	set value at specified index of element,&lt;br /&gt;
	entry or node at position[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND==&lt;br /&gt;
(LinkedVariable, , TmpVariable Condition)	return first position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable, TmpVariable, Condition)	&lt;br /&gt;
	return next position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==SORT==&lt;br /&gt;
(LinkedVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	sort elements, entries or nodes according to &lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
&lt;br /&gt;
==CONTAINS==&lt;br /&gt;
(SetVariable, ElementVariable)	TRUE if and only if set variable “contains” &lt;br /&gt;
	variable provided, where two elements are &lt;br /&gt;
	identical if they have identical values[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
==INSERT==&lt;br /&gt;
(SetVariable, ElementVariable)	add element to set. Only changes set if it &lt;br /&gt;
	doesn’t already contain the element&lt;br /&gt;
SetVariable = UNION(Set1, Set2)	take union of two set variables&lt;br /&gt;
SetVariable = INTERSECTION(Sete1, Set2)	take intersection of two set variables&lt;br /&gt;
SetVariable = SUBTRACT(Sete1, Set2)	subtract second set variable from first&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
(ListVariable)	returns position of first entry [[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==TAIL==&lt;br /&gt;
(ListVariable)	returns position of last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT HEAD==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to front of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT TAIL==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to end of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT BEFORE==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry before given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AFTER==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry after given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AT==(ListVariable, Index, EntryElement)	add an entry at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE HEAD==(ListVariable)	removes and deletes first entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE TAIL== (ListVariable)	removes and deletes last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE AT INDEX==(ListVariable, Index)	removes and deletes entry at given index&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET HEAD(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET TAIL(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET AT INDEX(ListVariable, Index)	returns entry at given index&lt;br /&gt;
Pos = POS AT INDEX(ListVariable, Index)	returns position at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
&lt;br /&gt;
==ADD ROOT==(TreeVariable, EntryElement)	add root element of a tree&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT LEFT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the left of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT RIGHT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the right of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT CHILD==(TreeVariable, PosVariable, EntryElement, Index)&lt;br /&gt;
	add child to a node at given index (from&lt;br /&gt;
	left)&lt;br /&gt;
&lt;br /&gt;
n = CHILDREN(TreeVariable, PosVariable)	number of children at a given position&lt;br /&gt;
Pos = PARENT(TreeVariable, PosVariable)	Position of parent of a node&lt;br /&gt;
Pos = LEFT CHILD(TreeVariable, PosVariable)	Position of leftmost child of a node&lt;br /&gt;
Pos = RIGHT CHILD(TreeVariable, PosVariable)	Position of rightmost child of a node&lt;br /&gt;
Pos = CHILD(TreeVariable, PosVariable, Index)	Position of indexed (from left) child of a &lt;br /&gt;
	node&lt;br /&gt;
Pos = NEXT SIBLING(TreeVariable, PosVariable)	Position of next sibling to right of a node&lt;br /&gt;
Pos = PREV SIBLING(TreeVariable, PosVariable)	Position of previous  sibling to right of a &lt;br /&gt;
node&lt;br /&gt;
&lt;br /&gt;
Pos = NEXT DFS(TreeVariable, PosVariable)	Position of next node in depth-first&lt;br /&gt;
	pre-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Pos = NEXT POSTORDER DFS(TreeVariable, PosVariable)&lt;br /&gt;
	Position of next node in depth-first&lt;br /&gt;
	post-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Variable [=] GET LEFT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of leftmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET RIGHT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of rightmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET CHILD(TreeVariable, PosVariable, Index)&lt;br /&gt;
	returns entry of child with given index&lt;br /&gt;
	(from left) for a given node&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE ALL LINKS==&lt;br /&gt;
(GraphVariable) 	clears links of a graph variable&lt;br /&gt;
==SIZE LINKS==&lt;br /&gt;
(GraphVariable)	number of links in graph&lt;br /&gt;
==IS EMPTY LINKS==&lt;br /&gt;
(GraphVariable)	TRUE if and only if graph has 0 links&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIRST LINK==&lt;br /&gt;
(GraphVariable)	returns position of first link[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link following position&lt;br /&gt;
	provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==PREV LINK== &lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link preceding position&lt;br /&gt;
	provided&lt;br /&gt;
Variable [=] GET LINK(GraphVariable, PosVariable)&lt;br /&gt;
	get link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==CONTAINS LINK==&lt;br /&gt;
(GraphVariable, LinkVariable)	TRUE if and only if graph variable contains &lt;br /&gt;
	variable provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==REMOVE LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	remove and deletes link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, LinkVariable)&lt;br /&gt;
	 Set link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	Set value at specified index of link at&lt;br /&gt;
	position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND LINK==&lt;br /&gt;
(GraphVariable, TmpVariable, Condition)&lt;br /&gt;
	Return first position of link that satisfies the&lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable, TmpVariable, Condition)&lt;br /&gt;
	Return next position of a link that satisfies &lt;br /&gt;
	the condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SORT LINKS==&lt;br /&gt;
(GraphVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	Sort links according to condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==LINKED==&lt;br /&gt;
(GraphVariable, NodeVariable1, NodeVariable2, LinkType)&lt;br /&gt;
	TRUE if the nodes are linked. Set LinkType &lt;br /&gt;
	to 0 for direct links and 1 for indirect&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Language_Reference&amp;diff=2140</id>
		<title>Language Reference</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Language_Reference&amp;diff=2140"/>
		<updated>2006-10-04T21:30:21Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ABSOLUTE==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
==Expr % Expr==&lt;br /&gt;
	value of the first expression modulo the value of&lt;br /&gt;
	the second expression (assumes that the values&lt;br /&gt;
	of the expressions are integers)&lt;br /&gt;
&lt;br /&gt;
==AND==		&lt;br /&gt;
TRUE (1) if all sub-expressions evaluate to&lt;br /&gt;
		TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ARCCOS==(Expr)	inverse cos of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCSIN==&lt;br /&gt;
(Expr)	inverse sine of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr)	inverse tan of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr, Expr)	inverse tan where first expression is x offset&lt;br /&gt;
		and second is y offset. Providing two &lt;br /&gt;
		expressions gives more information about the &lt;br /&gt;
		quadrant.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==BITWISE OR==&lt;br /&gt;
(Expr, Expr)	Bitwise OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE AND==&lt;br /&gt;
(Expr, Expr)	Bitwise AND of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE XOR==&lt;br /&gt;
(Expr, Expr)	Bitwise exclusive-OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE NOT==&lt;br /&gt;
 Expr	Bitwise NOT of a value[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
(Expr)	base of the natural logarithm (e) to the power of&lt;br /&gt;
	the expression&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CEILING==&lt;br /&gt;
(Expr)	smallest integer larger than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLAMP==&lt;br /&gt;
(Expr, MinExpr, MaxExpr)	clamp the value X of the expression to the range&lt;br /&gt;
			[Min, Max]: if X &amp;lt; Min then return Min; if  			X &amp;lt; Max return Max. Otherwise return X.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	if the value of the variable X is equal to one of &lt;br /&gt;
	CLASS Number: Expr	the classes listed, then return the result of the.&lt;br /&gt;
	   :	associated expression. Otherwise return 0.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	return the result of the kth expression in the list,&lt;br /&gt;
Expr	where k = X – minimum value of the variables&lt;br /&gt;
   :	(this may be non-0 only for layers)&lt;br /&gt;
   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): ( Number+)	return the kth number in the list, where &lt;br /&gt;
		k = X – minimum value of the variable (this&lt;br /&gt;
may be non-0 only for layers)[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. Rarely&lt;br /&gt;
		used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file. Rarely used.&lt;br /&gt;
&lt;br /&gt;
Classified functions use the variable as an index into the list of numbers or expressions that follow. The “CLASS” keyword is optional.  This variable must be non-negative. If “CLASS # :” is used, then the number refers to the value of the indexing variable. If a class is not specified for a given value, its expression is implicitly ZERO.  Interpolation tables are very similar except that the variable is assumed to be continuous instead of classified.  An interpolated value between classes is returned.  Lookup tables are also similar, except that both the variable and classes are assumed to be continuous values. An interpolated value between classes is also returned. Rarely used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
draw a value from a discrete distribution, where 	CLASS Number: Expr	each expression determines the relative  		:	probability of its associated class being drawn. ENDFN		The CLASS keyword is optional.&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
( Number+)	in this form, the classes are assumed to start at 			zero. Only constant probabilities can be given.&lt;br /&gt;
==CLASSIFIED_DIST==	&lt;br /&gt;
in this form, the classes are assumed to start at Expr		zero    :&lt;br /&gt;
ENDFN&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST[M]==&lt;br /&gt;
In this form, the classes in a one-dimensional&lt;br /&gt;
			array M, and so start at zero.&lt;br /&gt;
==COS==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return cos(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CRITICAL SECTION==&lt;br /&gt;
(Flag)	Enter (if Flag is TRUE) or exit (if Flag is 			FALSE) a critical section. A critical section 			gives priority to this application, and is used for&lt;br /&gt;
			synchronizing access to shared variables&lt;br /&gt;
(i.e. shared with another application).[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DEBUG==&lt;br /&gt;
		Update the simulation probe, if it is loaded and&lt;br /&gt;
			The event is selected. Used to debug/verify&lt;br /&gt;
			event behaviour.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	approximation of line between end cells&lt;br /&gt;
Cost surface and least-cost path regions are advanced features that are best understood with an example model.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	known location indices. If there is a decision expression, then only those cells for which this &lt;br /&gt;
		expression returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr	location indices stored in one-dimensional X. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr location index. If there is a decision expression,&lt;br /&gt;
		then only those cells for which this expression&lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
DistanceType is either CARDINAL or EUCLIDEAN (the default). Cardinal distance between two cells is the minimum number of cardinal steps (up, down, left, right) to reach one cell from the other. Euclidean distance is the straight-line distance between two points. The WRAPPED flag, if present indicates that the region wraps around the sides (vertically and horizontally) of the landscape (e.g. a location x positions beyond the right-hand side of a raster will be mapped to x positions in from the left-hand side of the raster). If not present, the landscape does not wrap.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DIRECTION==&lt;br /&gt;
(Expr, Expr)	angle in degrees between two location indices&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==DISPLAY==		Display on the screen the labelled 	Label: Expr	values computed with the expressions listed.&lt;br /&gt;
	      ….		If no label is given, the expression must&lt;br /&gt;
ENDFN		be a variable, and this is used for the label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
==DISPLAY==		Same as above, but only display if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	The keyword DECISION can be replaced by&lt;br /&gt;
	      ….		a “?”&lt;br /&gt;
ENDFN		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Output to the record file of output variable	the labelled values computed with the  Label: Expr	expressions listed. If no label is given, the&lt;br /&gt;
	      ….		Expression must be a variable and this is&lt;br /&gt;
ENDFN		used as label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Same as above, but only output if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	&lt;br /&gt;
	      ….		&lt;br /&gt;
ENDFN		&lt;br /&gt;
&lt;br /&gt;
==DISTANCE==&lt;br /&gt;
(Expr, Expr)	distance between two location indices (normally&lt;br /&gt;
	obtained using the Location variable). Thus,&lt;br /&gt;
	DISTANCE(loc1, loc2) is &lt;br /&gt;
	sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y))&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ELSE==&lt;br /&gt;
        expression evaluates to TRUE and the set of&lt;br /&gt;
 …	sub-expressions after the ELSE otherwise. Note &lt;br /&gt;
ENDFN	that “ELSE IF expr” forms can be strung&lt;br /&gt;
	together[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==EQUAL	TRUE== &lt;br /&gt;
(1) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==FLOOR==&lt;br /&gt;
(Expr)		largest integer smaller than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==GEOMETRIC MEAN==	&lt;br /&gt;
geometric mean of the sub-expressions  (nth &lt;br /&gt;
		root of the product for n expressions)&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
Procedural IF statement to process&lt;br /&gt;
 …	sub-expressions denoted by “…” only if the &lt;br /&gt;
ENDFN	expression evaluates to TRUE[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
        Procedural IF statement to process the first set&lt;br /&gt;
 …	of sub-expressions denoted by “…”if the &lt;br /&gt;
==IF Expr THEN Expr ELSE==&lt;br /&gt;
Expr	if value of the IF expression is TRUE (&amp;gt;= 1), 	then return the value of the THEN expression,&lt;br /&gt;
	otherwise return value of the ELSE expression&lt;br /&gt;
&lt;br /&gt;
(Expr ? Expr : Expr)	Same as above, but this form can be used as an&lt;br /&gt;
	embedded sub-expression.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	return an interpolated value where the value of&lt;br /&gt;
	CLASS Number: Number	variable X is placed between two classes or at&lt;br /&gt;
 	   :	either end of the table.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]				&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
ORDERED	same as LESS OR EQUAL&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG==&lt;br /&gt;
(Expr)	natural logarithm of the value of the expression.&lt;br /&gt;
	Logarithms in other bases can be computed as&lt;br /&gt;
	logb(x) = ln(x) / ln(b)&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal cumulative density function, where&lt;br /&gt;
			the first expression specifies the value, the &lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
==LOG NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal probability density function, where&lt;br /&gt;
			the first expression specifies the value, the&lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)  temporal log normal probability density&lt;br /&gt;
			function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table&lt;br /&gt;
		file&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr EQ Expr	TRUE if the values of the two expressions are&lt;br /&gt;
		equal; otherwise FALSE [[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr == Expr	alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment)[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr NEQ Expr	TRUE if the values are not equal; otherwise&lt;br /&gt;
		FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr != Expr	alternate form of NOT EQUAL comparison[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;lt; Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than the value of the second expression;&lt;br /&gt;
		otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;lt;= Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than or equal to the value of the second&lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;gt; Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than the value of the second &lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;gt;= Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than or equal to the value of the &lt;br /&gt;
		second expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
!Expr		Negates the expression Boolean value[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr AND Expr	TRUE if values of both expressions are&lt;br /&gt;
		TRUE and FALSE otherwise[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr OR Expr	TRUE if value of at least one expression is&lt;br /&gt;
		TRUE and FALSE otherwise&lt;br /&gt;
&lt;br /&gt;
==MAX POSITION==&lt;br /&gt;
(Expr)	Return the maximum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==MEAN==		&lt;br /&gt;
average of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
==MAX==		&lt;br /&gt;
maximum of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN== 	&lt;br /&gt;
minimum of the sub-expressions &lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN POSITION==&lt;br /&gt;
(Expr)	Return the minimum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==NEGEXP==&lt;br /&gt;
(Expr)	draw a value from a negative exponential 	distribution, where the expression specifies the&lt;br /&gt;
	mean&lt;br /&gt;
 POISSION(Expr)	draw a value from a Poisson distribution&lt;br /&gt;
&lt;br /&gt;
==NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal cumulative density function, where the 			first expression is the value, the second is the			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal probability density function, where the 			first expression is the value, the second is the  			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr) 	temporal normal probability density function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NOT EQUAL==	&lt;br /&gt;
FALSE (0) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and TRUE (1) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ONE==&lt;br /&gt;
	return 1.0&lt;br /&gt;
#Number	return value of the number specified&lt;br /&gt;
&amp;lt;Constant&amp;gt;	return value of a named constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr]	return value of a named vector constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr, Expr]	return value of a named array constant&lt;br /&gt;
&amp;lt;Macro&amp;gt;[Expr]	return value of expression at specified index&lt;br /&gt;
	in macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr)	draw a value from a normal distribution, where&lt;br /&gt;
	the first expression specifies the mean and&lt;br /&gt;
	the second specifies the standard deviation&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr, Expr)	draw a value from a skewed normal distribution, 	where the first expression specifies the mode &lt;br /&gt;
	and the second and third specify the standard &lt;br /&gt;
	deviations to the left and right of the mode &lt;br /&gt;
(Expr, Expr)	draw a value from a log normal distribution,&lt;br /&gt;
	where the first expression specifies the mean&lt;br /&gt;
	and the second specifies the standard deviation &lt;br /&gt;
	of the underlying normal distribution&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr) 	draw a value from a Weibull distribution, where&lt;br /&gt;
	the first expression specifies the beta and the&lt;br /&gt;
	second specifies alpha (Note:terminology varies&lt;br /&gt;
	between sources. The version here is equivalent&lt;br /&gt;
	to that in Excel, with reversal of parameters).&lt;br /&gt;
&lt;br /&gt;
==OR==		&lt;br /&gt;
TRUE (1) if at least one sub-expression&lt;br /&gt;
		evaluates to TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
	Halts the simulation and displays a dialog&lt;br /&gt;
	box to which the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE IF==&lt;br /&gt;
Expr	If the expression evaluates to TRUE, halts the &lt;br /&gt;
			simulation and displays a dialog box to which &lt;br /&gt;
			the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
(#Value)	Pauses the simulation for the specified number&lt;br /&gt;
			of milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE (#Value)IF== &lt;br /&gt;
Expr	If the expression evaluates to TRUE, Pauses the &lt;br /&gt;
			simulation for the specified number of &lt;br /&gt;
			milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal cumulative density function, 			where the first expression specifies the value, &lt;br /&gt;
			the second is the mode, and the third and fourth 			are the left and right standard deviations&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal probability density function,&lt;br /&gt;
	where the first expression specifies the value,&lt;br /&gt;
	the second is the mode and the third and fourth	are the standard deviations to the left and right&lt;br /&gt;
	of the mode. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)&lt;br /&gt;
			temporal skewed normal probability density &lt;br /&gt;
			function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==RECOMPUTE==	&lt;br /&gt;
Only valid in consequent expressions of &lt;br /&gt;
			ProbInit and also when ProbInit recompute flag&lt;br /&gt;
			has been set. Causes prob. surface to be&lt;br /&gt;
			recomputed before next selection&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==REGION CENTRED==&lt;br /&gt;
(Expr, Expr [,DistanceType][,WRAPPED]) &lt;br /&gt;
DECISION  Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION==&lt;br /&gt;
(Expr)	defines the region consisting of a of a single&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==&lt;br /&gt;
(Number+)	defines the region consisting of a set of ????&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==(X,n)	defines the region consisting of a set of n&lt;br /&gt;
&lt;br /&gt;
==REGION RECT== &lt;br /&gt;
(Expr, Expr, Expr, Expr)	defines a rectangular region. If there is a&lt;br /&gt;
	DECISION Expr	decision expression defined, then only those&lt;br /&gt;
		cells for which this expression returns&lt;br /&gt;
		TRUE will be included&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION VECTOR== (StartLocation, EndLocation)	defines region consisting of cells along an&lt;br /&gt;
&lt;br /&gt;
==REGION WHOLE MAP==	&lt;br /&gt;
defines the region consisting of the entire&lt;br /&gt;
	DECISION Expr	landscape. If there is a decision expression, &lt;br /&gt;
		then only those cells for which this expression &lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==RESIZE==&lt;br /&gt;
(Variable, Expr)	Changes size (number of entries) in a global&lt;br /&gt;
			variable. Values are not maintained. Useful for &lt;br /&gt;
			when size is not known prior to simulation.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==RESPONSE==&lt;br /&gt;
(Expr, #A, #B, #C)	two-sided version of a standard response &lt;br /&gt;
function for the value X of the first expression: &lt;br /&gt;
if (X &amp;lt; A) return e^(-(X-A)^2/(2*(C^2))&lt;br /&gt;
			else if (X &amp;gt; B) return e^(-(X-B)^2/(2*(C^2))&lt;br /&gt;
			else return 1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ROUND==&lt;br /&gt;
(Expr)	expression value rounded to the nearest integer[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SEED()==&lt;br /&gt;
		Gets the random number seed[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==SEED==&lt;br /&gt;
(Expr)		Sets the random number seed. Value returned is &lt;br /&gt;
			next seed.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList, #Type)	Set the value specified by the expression, at &lt;br /&gt;
		the positions in PositionList to: FALSE (0) &lt;br /&gt;
		if Type is 0, TRUE (1) if Type is 1,&lt;br /&gt;
		and flip the bits if Type = 2&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList,#Type,#Prob)	Same as above, except each position is set&lt;br /&gt;
		with probability #Prob&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SELECTAT==&lt;br /&gt;
(Expr, PositionList)	FALSE(0) if none of the bits in PositionList are&lt;br /&gt;
		set in the specified expression value and&lt;br /&gt;
		TRUE(1) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SHIFT LEFT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the left by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SHIFT RIGHT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the right by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SIN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return sin(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SUM==&lt;br /&gt;
DESCRIPTION: &lt;br /&gt;
Returns the number that is the sum of all the expressions.&lt;br /&gt;
&lt;br /&gt;
USAGE: &lt;br /&gt;
   x=SUM &lt;br /&gt;
       Expr&lt;br /&gt;
       ...  &lt;br /&gt;
     ENDFN&lt;br /&gt;
&lt;br /&gt;
REQUIRED ARGUMENTS:&lt;br /&gt;
Expr is any expression that evaluates to single numeric value.&lt;br /&gt;
&lt;br /&gt;
VALUE: &lt;br /&gt;
the sum of all the arguments.&lt;br /&gt;
&lt;br /&gt;
SEE ALSO: &lt;br /&gt;
&amp;lt;a link to the composite functions section of seles modellers guide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXAMPLES: &amp;lt;add carriage return here&amp;gt;&lt;br /&gt;
Example 1:&lt;br /&gt;
   y = 3&lt;br /&gt;
   x = SUM  &lt;br /&gt;
         y  &lt;br /&gt;
         y+2  &lt;br /&gt;
         5  &lt;br /&gt;
       ENDFN &lt;br /&gt;
&amp;lt;figure out an end example indicator. For example, ***&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAMPLE MODELS: &lt;br /&gt;
&amp;lt;links to sample models where this function is used&amp;gt;&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
DIVIDE	successive division of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==STRICT ORDERED==	&lt;br /&gt;
same as LESS THAN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==TAN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return tan(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==UNIFORM==&lt;br /&gt;
(Expr, Expr)	draw a value from a uniform distribution, where 	the first expression determines the minimum	 	value and the second determines the maximum&lt;br /&gt;
&lt;br /&gt;
==UNIFORM TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	temporal uniform probability density expression&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variable&amp;gt;	value of an independent variable &amp;lt;Variable&amp;gt;[Expr]	value of a vector global variable&lt;br /&gt;
&amp;lt;Variable&amp;gt;[Expr, Expr]	value of an array global variable&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
(Expr)	value of the expression Expr + Expr	sum of two expressions Expr - Expr	value of the first expression minus the value&lt;br /&gt;
	of the second expression Expr * Expr	product of two expressions Expr / Expr	value of the first expression divided by value&lt;br /&gt;
	of the second expression  Expr ^ Expr	value of the first expression to the power of&lt;br /&gt;
	the value of the second expression. An nth&lt;br /&gt;
	root can be computed with1/n as the power.&lt;br /&gt;
| Expr |	absolute value of the expression &lt;br /&gt;
&lt;br /&gt;
==WAIT UNTIL==&lt;br /&gt;
Expr	Suspend execution until the expression returns 			TRUE (1). This is intended for controlling&lt;br /&gt;
			communication and synchronization with&lt;br /&gt;
			an external application. [[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==WHILE==&lt;br /&gt;
Expr	While loop: process sub-expressions denoted by&lt;br /&gt;
 …	 “…” while the expression evaluates to TRUE&lt;br /&gt;
ENDFN	&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==ZERO==&lt;br /&gt;
	return 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==&lt;br /&gt;
(StartLocation, EndLocation)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs)&lt;br /&gt;
	DECISION Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
		Defines a region with cells that approximate&lt;br /&gt;
		the least-cost path between two cells. The&lt;br /&gt;
		first generates the cost function internally.&lt;br /&gt;
		The latter two use input information from a&lt;br /&gt;
		pre-computed cost surface region. Providing &lt;br /&gt;
		both the gradient and anchor location layers &lt;br /&gt;
		provides the most accurate approximation.&lt;br /&gt;
&lt;br /&gt;
Iteration is a common aspect of models (even if it is very procedural). Most programming languages offer a “for-loop” of some kind. SELES presently provides “over index sequence” expressions as a slightly more declarative (although also more cumbersome) expression for iterating. While-loops can also be used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==OVER INDEX SEQUENCE==&lt;br /&gt;
(Expr, Expr)	defines linear sequence of location indices. &lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns &lt;br /&gt;
		TRUE will be included.  The system variable &lt;br /&gt;
		Index holds the value of the index at each value &lt;br /&gt;
		in the sequence&lt;br /&gt;
&lt;br /&gt;
Over region expressions are very frequently used to visit all cells in a landscape that meet some condition (e.g. to compute the size of the forest at initiation).&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
OVER RegionFunction	Apply a set of sub-expressions at all spatial&lt;br /&gt;
   Expression	locations specified by a region function&lt;br /&gt;
	        :&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
AT LOCATION #Expr	Apply a set of state-changes at a specified&lt;br /&gt;
   Expression	location&lt;br /&gt;
	:&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
Matrix assignment is indicated using “[=]” instead of “=”.  The proper dimensions of the component arrays must be met.&lt;br /&gt;
&lt;br /&gt;
Variable [=] Variable	assign variable of same dimension, or a &lt;br /&gt;
	single value to all entries&lt;br /&gt;
Variable [=] Variable + Variable	sum variables of same dimension (or with a &lt;br /&gt;
	constant)&lt;br /&gt;
Variable [=] Variable - Variable	subtract variables of same dimension (or&lt;br /&gt;
	with a constant)&lt;br /&gt;
Variable [=] Variable * Variable	matrix or scalar multiplication. &lt;br /&gt;
&lt;br /&gt;
Variable [=] TRANSPOSE(Variable)	matrix transposition&lt;br /&gt;
Variable [=] Variable^-1	invert a matrix&lt;br /&gt;
Variable = SUM(Variable)	sum all entries in a matrix&lt;br /&gt;
Variable [=] SUM ROWS (Variable)	sum all rows of a matrix (result has one&lt;br /&gt;
	value per column)&lt;br /&gt;
Variable [=] SUM COLS(Variable)	sum all columns of a matrix&lt;br /&gt;
&lt;br /&gt;
Variables [=] SORT(Variable, Expr)	sort rows of an input matrix where rank is &lt;br /&gt;
	given by Expr. The system variable “Index” &lt;br /&gt;
	can appear in the expression and will take on&lt;br /&gt;
	the range of indices in the input array. The &lt;br /&gt;
	resulting sorted matrix will be assigned.&lt;br /&gt;
&lt;br /&gt;
Variable [=] MPM_MULT(Variable, Variable)	Performs a “matrix population model” &lt;br /&gt;
	(MPM) integer-based multiplication. &lt;br /&gt;
	Assumes that first matrix is two-dimensional &lt;br /&gt;
	and that second is a vector. The result is &lt;br /&gt;
	two-dimensional, where entries above &lt;br /&gt;
	diagonal represent &amp;quot;offspring&amp;quot;, entries on the&lt;br /&gt;
	diagonal represent &amp;quot;survivors&amp;quot; and entries &lt;br /&gt;
	below the diagonal represent &amp;quot;succeeders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Variable [=] CONTAG(Variable, Variable)	Creates a “temporal contagion” matrix. &lt;br /&gt;
	Given probabilities (first parameter) for a set&lt;br /&gt;
	of states and a two-dimensional contagion &lt;br /&gt;
	array (values –1 to 1 indicating affinity), &lt;br /&gt;
	generates a matrix where each row is a prob. &lt;br /&gt;
	dist. For transitions given the row value, and &lt;br /&gt;
	the overall target dist. will be met.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Matrix Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE== &lt;br /&gt;
ALL(LinkedVariable)	clears variable. No return value&lt;br /&gt;
SIZE(LinkedVariable)	number of elements, entries or nodes&lt;br /&gt;
==IS EMPTY==&lt;br /&gt;
(LinkedVariable)	TRUE if and only if variable has 0 elements&lt;br /&gt;
 [[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIRST==&lt;br /&gt;
(LinkedVariable)	returns position of first element, entry or&lt;br /&gt;
	node[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	following position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==PREV==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	preceding position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==REMOVE==&lt;br /&gt;
(LinkedVariable, PosVariable)	remove and deletes element, entry or node &lt;br /&gt;
	at position&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET(LinkedVariable, PosVariable)	get element, entry or node at position&lt;br /&gt;
X [=] GET(LinkedVariable, PosVariable, Index)	get single value in a given index&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, Variable)	set element, entry or node at position&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	set value at specified index of element,&lt;br /&gt;
	entry or node at position[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND==&lt;br /&gt;
(LinkedVariable, , TmpVariable Condition)	return first position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable, TmpVariable, Condition)	&lt;br /&gt;
	return next position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==SORT==&lt;br /&gt;
(LinkedVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	sort elements, entries or nodes according to &lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
&lt;br /&gt;
==CONTAINS==&lt;br /&gt;
(SetVariable, ElementVariable)	TRUE if and only if set variable “contains” &lt;br /&gt;
	variable provided, where two elements are &lt;br /&gt;
	identical if they have identical values[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
==INSERT==&lt;br /&gt;
(SetVariable, ElementVariable)	add element to set. Only changes set if it &lt;br /&gt;
	doesn’t already contain the element&lt;br /&gt;
SetVariable = UNION(Set1, Set2)	take union of two set variables&lt;br /&gt;
SetVariable = INTERSECTION(Sete1, Set2)	take intersection of two set variables&lt;br /&gt;
SetVariable = SUBTRACT(Sete1, Set2)	subtract second set variable from first&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
(ListVariable)	returns position of first entry [[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==TAIL==&lt;br /&gt;
(ListVariable)	returns position of last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT HEAD==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to front of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT TAIL==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to end of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT BEFORE==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry before given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AFTER==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry after given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AT==(ListVariable, Index, EntryElement)	add an entry at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE HEAD==(ListVariable)	removes and deletes first entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE TAIL== (ListVariable)	removes and deletes last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE AT INDEX==(ListVariable, Index)	removes and deletes entry at given index&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET HEAD(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET TAIL(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET AT INDEX(ListVariable, Index)	returns entry at given index&lt;br /&gt;
Pos = POS AT INDEX(ListVariable, Index)	returns position at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
&lt;br /&gt;
==ADD ROOT==(TreeVariable, EntryElement)	add root element of a tree&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT LEFT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the left of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT RIGHT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the right of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT CHILD==(TreeVariable, PosVariable, EntryElement, Index)&lt;br /&gt;
	add child to a node at given index (from&lt;br /&gt;
	left)&lt;br /&gt;
&lt;br /&gt;
n = CHILDREN(TreeVariable, PosVariable)	number of children at a given position&lt;br /&gt;
Pos = PARENT(TreeVariable, PosVariable)	Position of parent of a node&lt;br /&gt;
Pos = LEFT CHILD(TreeVariable, PosVariable)	Position of leftmost child of a node&lt;br /&gt;
Pos = RIGHT CHILD(TreeVariable, PosVariable)	Position of rightmost child of a node&lt;br /&gt;
Pos = CHILD(TreeVariable, PosVariable, Index)	Position of indexed (from left) child of a &lt;br /&gt;
	node&lt;br /&gt;
Pos = NEXT SIBLING(TreeVariable, PosVariable)	Position of next sibling to right of a node&lt;br /&gt;
Pos = PREV SIBLING(TreeVariable, PosVariable)	Position of previous  sibling to right of a &lt;br /&gt;
node&lt;br /&gt;
&lt;br /&gt;
Pos = NEXT DFS(TreeVariable, PosVariable)	Position of next node in depth-first&lt;br /&gt;
	pre-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Pos = NEXT POSTORDER DFS(TreeVariable, PosVariable)&lt;br /&gt;
	Position of next node in depth-first&lt;br /&gt;
	post-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Variable [=] GET LEFT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of leftmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET RIGHT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of rightmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET CHILD(TreeVariable, PosVariable, Index)&lt;br /&gt;
	returns entry of child with given index&lt;br /&gt;
	(from left) for a given node&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE ALL LINKS==&lt;br /&gt;
(GraphVariable) 	clears links of a graph variable&lt;br /&gt;
==SIZE LINKS==&lt;br /&gt;
(GraphVariable)	number of links in graph&lt;br /&gt;
==IS EMPTY LINKS==&lt;br /&gt;
(GraphVariable)	TRUE if and only if graph has 0 links&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIRST LINK==&lt;br /&gt;
(GraphVariable)	returns position of first link[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link following position&lt;br /&gt;
	provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==PREV LINK== &lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link preceding position&lt;br /&gt;
	provided&lt;br /&gt;
Variable [=] GET LINK(GraphVariable, PosVariable)&lt;br /&gt;
	get link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==CONTAINS LINK==&lt;br /&gt;
(GraphVariable, LinkVariable)	TRUE if and only if graph variable contains &lt;br /&gt;
	variable provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==REMOVE LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	remove and deletes link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, LinkVariable)&lt;br /&gt;
	 Set link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	Set value at specified index of link at&lt;br /&gt;
	position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND LINK==&lt;br /&gt;
(GraphVariable, TmpVariable, Condition)&lt;br /&gt;
	Return first position of link that satisfies the&lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable, TmpVariable, Condition)&lt;br /&gt;
	Return next position of a link that satisfies &lt;br /&gt;
	the condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SORT LINKS==&lt;br /&gt;
(GraphVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	Sort links according to condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==LINKED==&lt;br /&gt;
(GraphVariable, NodeVariable1, NodeVariable2, LinkType)&lt;br /&gt;
	TRUE if the nodes are linked. Set LinkType &lt;br /&gt;
	to 0 for direct links and 1 for indirect&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Language_Reference&amp;diff=2139</id>
		<title>Language Reference</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Language_Reference&amp;diff=2139"/>
		<updated>2006-10-04T21:29:11Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ABSOLUTE==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
==Expr % Expr==&lt;br /&gt;
	value of the first expression modulo the value of&lt;br /&gt;
	the second expression (assumes that the values&lt;br /&gt;
	of the expressions are integers)&lt;br /&gt;
&lt;br /&gt;
==AND==		&lt;br /&gt;
TRUE (1) if all sub-expressions evaluate to&lt;br /&gt;
		TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ARCCOS==(Expr)	inverse cos of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCSIN==&lt;br /&gt;
(Expr)	inverse sine of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr)	inverse tan of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr, Expr)	inverse tan where first expression is x offset&lt;br /&gt;
		and second is y offset. Providing two &lt;br /&gt;
		expressions gives more information about the &lt;br /&gt;
		quadrant.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==BITWISE OR==&lt;br /&gt;
(Expr, Expr)	Bitwise OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE AND==&lt;br /&gt;
(Expr, Expr)	Bitwise AND of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE XOR==&lt;br /&gt;
(Expr, Expr)	Bitwise exclusive-OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE NOT==&lt;br /&gt;
 Expr	Bitwise NOT of a value[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
(Expr)	base of the natural logarithm (e) to the power of&lt;br /&gt;
	the expression&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CEILING==&lt;br /&gt;
(Expr)	smallest integer larger than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLAMP==&lt;br /&gt;
(Expr, MinExpr, MaxExpr)	clamp the value X of the expression to the range&lt;br /&gt;
			[Min, Max]: if X &amp;lt; Min then return Min; if  			X &amp;lt; Max return Max. Otherwise return X.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	if the value of the variable X is equal to one of &lt;br /&gt;
	CLASS Number: Expr	the classes listed, then return the result of the.&lt;br /&gt;
	   :	associated expression. Otherwise return 0.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	return the result of the kth expression in the list,&lt;br /&gt;
Expr	where k = X – minimum value of the variables&lt;br /&gt;
   :	(this may be non-0 only for layers)&lt;br /&gt;
   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): ( Number+)	return the kth number in the list, where &lt;br /&gt;
		k = X – minimum value of the variable (this&lt;br /&gt;
may be non-0 only for layers)[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. Rarely&lt;br /&gt;
		used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file. Rarely used.&lt;br /&gt;
&lt;br /&gt;
Classified functions use the variable as an index into the list of numbers or expressions that follow. The “CLASS” keyword is optional.  This variable must be non-negative. If “CLASS # :” is used, then the number refers to the value of the indexing variable. If a class is not specified for a given value, its expression is implicitly ZERO.  Interpolation tables are very similar except that the variable is assumed to be continuous instead of classified.  An interpolated value between classes is returned.  Lookup tables are also similar, except that both the variable and classes are assumed to be continuous values. An interpolated value between classes is also returned. Rarely used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
draw a value from a discrete distribution, where 	CLASS Number: Expr	each expression determines the relative  		:	probability of its associated class being drawn. ENDFN		The CLASS keyword is optional.&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
( Number+)	in this form, the classes are assumed to start at 			zero. Only constant probabilities can be given.&lt;br /&gt;
==CLASSIFIED_DIST==	&lt;br /&gt;
in this form, the classes are assumed to start at Expr		zero    :&lt;br /&gt;
ENDFN&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST[M]==&lt;br /&gt;
In this form, the classes in a one-dimensional&lt;br /&gt;
			array M, and so start at zero.&lt;br /&gt;
==COS==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return cos(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CRITICAL SECTION==&lt;br /&gt;
(Flag)	Enter (if Flag is TRUE) or exit (if Flag is 			FALSE) a critical section. A critical section 			gives priority to this application, and is used for&lt;br /&gt;
			synchronizing access to shared variables&lt;br /&gt;
(i.e. shared with another application).[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DEBUG==&lt;br /&gt;
		Update the simulation probe, if it is loaded and&lt;br /&gt;
			The event is selected. Used to debug/verify&lt;br /&gt;
			event behaviour.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	approximation of line between end cells&lt;br /&gt;
Cost surface and least-cost path regions are advanced features that are best understood with an example model.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	known location indices. If there is a decision expression, then only those cells for which this &lt;br /&gt;
		expression returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr	location indices stored in one-dimensional X. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr location index. If there is a decision expression,&lt;br /&gt;
		then only those cells for which this expression&lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
DistanceType is either CARDINAL or EUCLIDEAN (the default). Cardinal distance between two cells is the minimum number of cardinal steps (up, down, left, right) to reach one cell from the other. Euclidean distance is the straight-line distance between two points. The WRAPPED flag, if present indicates that the region wraps around the sides (vertically and horizontally) of the landscape (e.g. a location x positions beyond the right-hand side of a raster will be mapped to x positions in from the left-hand side of the raster). If not present, the landscape does not wrap.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DIRECTION==&lt;br /&gt;
(Expr, Expr)	angle in degrees between two location indices&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==DISPLAY==		Display on the screen the labelled 	Label: Expr	values computed with the expressions listed.&lt;br /&gt;
	      ….		If no label is given, the expression must&lt;br /&gt;
ENDFN		be a variable, and this is used for the label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
==DISPLAY==		Same as above, but only display if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	The keyword DECISION can be replaced by&lt;br /&gt;
	      ….		a “?”&lt;br /&gt;
ENDFN		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Output to the record file of output variable	the labelled values computed with the  Label: Expr	expressions listed. If no label is given, the&lt;br /&gt;
	      ….		Expression must be a variable and this is&lt;br /&gt;
ENDFN		used as label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Same as above, but only output if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	&lt;br /&gt;
	      ….		&lt;br /&gt;
ENDFN		&lt;br /&gt;
&lt;br /&gt;
==DISTANCE==&lt;br /&gt;
(Expr, Expr)	distance between two location indices (normally&lt;br /&gt;
	obtained using the Location variable). Thus,&lt;br /&gt;
	DISTANCE(loc1, loc2) is &lt;br /&gt;
	sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y))&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ELSE==&lt;br /&gt;
        expression evaluates to TRUE and the set of&lt;br /&gt;
 …	sub-expressions after the ELSE otherwise. Note &lt;br /&gt;
ENDFN	that “ELSE IF expr” forms can be strung&lt;br /&gt;
	together[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==EQUAL	TRUE== &lt;br /&gt;
(1) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==FLOOR==&lt;br /&gt;
(Expr)		largest integer smaller than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==GEOMETRIC MEAN==	&lt;br /&gt;
geometric mean of the sub-expressions  (nth &lt;br /&gt;
		root of the product for n expressions)&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
Procedural IF statement to process&lt;br /&gt;
 …	sub-expressions denoted by “…” only if the &lt;br /&gt;
ENDFN	expression evaluates to TRUE[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
        Procedural IF statement to process the first set&lt;br /&gt;
 …	of sub-expressions denoted by “…”if the &lt;br /&gt;
==IF Expr THEN Expr ELSE==&lt;br /&gt;
Expr	if value of the IF expression is TRUE (&amp;gt;= 1), 	then return the value of the THEN expression,&lt;br /&gt;
	otherwise return value of the ELSE expression&lt;br /&gt;
&lt;br /&gt;
(Expr ? Expr : Expr)	Same as above, but this form can be used as an&lt;br /&gt;
	embedded sub-expression.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	return an interpolated value where the value of&lt;br /&gt;
	CLASS Number: Number	variable X is placed between two classes or at&lt;br /&gt;
 	   :	either end of the table.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]				&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
ORDERED	same as LESS OR EQUAL&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG==&lt;br /&gt;
(Expr)	natural logarithm of the value of the expression.&lt;br /&gt;
	Logarithms in other bases can be computed as&lt;br /&gt;
	logb(x) = ln(x) / ln(b)&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal cumulative density function, where&lt;br /&gt;
			the first expression specifies the value, the &lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
==LOG NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal probability density function, where&lt;br /&gt;
			the first expression specifies the value, the&lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)  temporal log normal probability density&lt;br /&gt;
			function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table&lt;br /&gt;
		file&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr EQ Expr	TRUE if the values of the two expressions are&lt;br /&gt;
		equal; otherwise FALSE [[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr == Expr	alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment)[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr NEQ Expr	TRUE if the values are not equal; otherwise&lt;br /&gt;
		FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr != Expr	alternate form of NOT EQUAL comparison[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;lt; Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than the value of the second expression;&lt;br /&gt;
		otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;lt;= Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than or equal to the value of the second&lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;gt; Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than the value of the second &lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;gt;= Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than or equal to the value of the &lt;br /&gt;
		second expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
!Expr		Negates the expression Boolean value[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr AND Expr	TRUE if values of both expressions are&lt;br /&gt;
		TRUE and FALSE otherwise[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr OR Expr	TRUE if value of at least one expression is&lt;br /&gt;
		TRUE and FALSE otherwise&lt;br /&gt;
&lt;br /&gt;
==MAX POSITION==&lt;br /&gt;
(Expr)	Return the maximum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==MEAN==		&lt;br /&gt;
average of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
==MAX==		&lt;br /&gt;
maximum of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN== 	&lt;br /&gt;
minimum of the sub-expressions &lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN POSITION==&lt;br /&gt;
(Expr)	Return the minimum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==NEGEXP==&lt;br /&gt;
(Expr)	draw a value from a negative exponential 	distribution, where the expression specifies the&lt;br /&gt;
	mean&lt;br /&gt;
 POISSION(Expr)	draw a value from a Poisson distribution&lt;br /&gt;
&lt;br /&gt;
==NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal cumulative density function, where the 			first expression is the value, the second is the			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal probability density function, where the 			first expression is the value, the second is the  			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr) 	temporal normal probability density function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NOT EQUAL==	&lt;br /&gt;
FALSE (0) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and TRUE (1) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ONE==&lt;br /&gt;
	return 1.0&lt;br /&gt;
#Number	return value of the number specified&lt;br /&gt;
&amp;lt;Constant&amp;gt;	return value of a named constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr]	return value of a named vector constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr, Expr]	return value of a named array constant&lt;br /&gt;
&amp;lt;Macro&amp;gt;[Expr]	return value of expression at specified index&lt;br /&gt;
	in macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr)	draw a value from a normal distribution, where&lt;br /&gt;
	the first expression specifies the mean and&lt;br /&gt;
	the second specifies the standard deviation&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr, Expr)	draw a value from a skewed normal distribution, 	where the first expression specifies the mode &lt;br /&gt;
	and the second and third specify the standard &lt;br /&gt;
	deviations to the left and right of the mode &lt;br /&gt;
(Expr, Expr)	draw a value from a log normal distribution,&lt;br /&gt;
	where the first expression specifies the mean&lt;br /&gt;
	and the second specifies the standard deviation &lt;br /&gt;
	of the underlying normal distribution&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr) 	draw a value from a Weibull distribution, where&lt;br /&gt;
	the first expression specifies the beta and the&lt;br /&gt;
	second specifies alpha (Note:terminology varies&lt;br /&gt;
	between sources. The version here is equivalent&lt;br /&gt;
	to that in Excel, with reversal of parameters).&lt;br /&gt;
&lt;br /&gt;
==OR==		&lt;br /&gt;
TRUE (1) if at least one sub-expression&lt;br /&gt;
		evaluates to TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
	Halts the simulation and displays a dialog&lt;br /&gt;
	box to which the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE IF==&lt;br /&gt;
Expr	If the expression evaluates to TRUE, halts the &lt;br /&gt;
			simulation and displays a dialog box to which &lt;br /&gt;
			the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
(#Value)	Pauses the simulation for the specified number&lt;br /&gt;
			of milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE (#Value)IF== &lt;br /&gt;
Expr	If the expression evaluates to TRUE, Pauses the &lt;br /&gt;
			simulation for the specified number of &lt;br /&gt;
			milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal cumulative density function, 			where the first expression specifies the value, &lt;br /&gt;
			the second is the mode, and the third and fourth 			are the left and right standard deviations&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal probability density function,&lt;br /&gt;
	where the first expression specifies the value,&lt;br /&gt;
	the second is the mode and the third and fourth	are the standard deviations to the left and right&lt;br /&gt;
	of the mode. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)&lt;br /&gt;
			temporal skewed normal probability density &lt;br /&gt;
			function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==RECOMPUTE==	&lt;br /&gt;
Only valid in consequent expressions of &lt;br /&gt;
			ProbInit and also when ProbInit recompute flag&lt;br /&gt;
			has been set. Causes prob. surface to be&lt;br /&gt;
			recomputed before next selection&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==REGION CENTRED==(Expr, Expr [,DistanceType][,WRAPPED]) &lt;br /&gt;
DECISION  Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION==&lt;br /&gt;
(Expr)	defines the region consisting of a of a single&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==&lt;br /&gt;
(Number+)	defines the region consisting of a set of ????&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==(X,n)	defines the region consisting of a set of n&lt;br /&gt;
&lt;br /&gt;
==REGION RECT== &lt;br /&gt;
(Expr, Expr, Expr, Expr)	defines a rectangular region. If there is a&lt;br /&gt;
	DECISION Expr	decision expression defined, then only those&lt;br /&gt;
		cells for which this expression returns&lt;br /&gt;
		TRUE will be included&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION VECTOR== (StartLocation, EndLocation)	defines region consisting of cells along an&lt;br /&gt;
&lt;br /&gt;
==REGION WHOLE MAP==	&lt;br /&gt;
defines the region consisting of the entire&lt;br /&gt;
	DECISION Expr	landscape. If there is a decision expression, &lt;br /&gt;
		then only those cells for which this expression &lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==RESIZE==&lt;br /&gt;
(Variable, Expr)	Changes size (number of entries) in a global&lt;br /&gt;
			variable. Values are not maintained. Useful for &lt;br /&gt;
			when size is not known prior to simulation.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==RESPONSE==&lt;br /&gt;
(Expr, #A, #B, #C)	two-sided version of a standard response &lt;br /&gt;
function for the value X of the first expression: &lt;br /&gt;
if (X &amp;lt; A) return e^(-(X-A)^2/(2*(C^2))&lt;br /&gt;
			else if (X &amp;gt; B) return e^(-(X-B)^2/(2*(C^2))&lt;br /&gt;
			else return 1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ROUND==&lt;br /&gt;
(Expr)	expression value rounded to the nearest integer[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SEED()==&lt;br /&gt;
		Gets the random number seed[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==SEED==&lt;br /&gt;
(Expr)		Sets the random number seed. Value returned is &lt;br /&gt;
			next seed.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList, #Type)	Set the value specified by the expression, at &lt;br /&gt;
		the positions in PositionList to: FALSE (0) &lt;br /&gt;
		if Type is 0, TRUE (1) if Type is 1,&lt;br /&gt;
		and flip the bits if Type = 2&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList,#Type,#Prob)	Same as above, except each position is set&lt;br /&gt;
		with probability #Prob&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SELECTAT==&lt;br /&gt;
(Expr, PositionList)	FALSE(0) if none of the bits in PositionList are&lt;br /&gt;
		set in the specified expression value and&lt;br /&gt;
		TRUE(1) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SHIFT LEFT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the left by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SHIFT RIGHT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the right by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SIN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return sin(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SUM==&lt;br /&gt;
DESCRIPTION: &lt;br /&gt;
Returns the number that is the sum of all the expressions.&lt;br /&gt;
&lt;br /&gt;
USAGE: &lt;br /&gt;
   x=SUM &lt;br /&gt;
       Expr&lt;br /&gt;
       ...  &lt;br /&gt;
     ENDFN&lt;br /&gt;
&lt;br /&gt;
REQUIRED ARGUMENTS:&lt;br /&gt;
Expr is any expression that evaluates to single numeric value.&lt;br /&gt;
&lt;br /&gt;
VALUE: &lt;br /&gt;
the sum of all the arguments.&lt;br /&gt;
&lt;br /&gt;
SEE ALSO: &lt;br /&gt;
&amp;lt;a link to the composite functions section of seles modellers guide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXAMPLES: &amp;lt;add carriage return here&amp;gt;&lt;br /&gt;
Example 1:&lt;br /&gt;
   y = 3&lt;br /&gt;
   x = SUM  &lt;br /&gt;
         y  &lt;br /&gt;
         y+2  &lt;br /&gt;
         5  &lt;br /&gt;
       ENDFN &lt;br /&gt;
&amp;lt;figure out an end example indicator. For example, ***&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAMPLE MODELS: &lt;br /&gt;
&amp;lt;links to sample models where this function is used&amp;gt;&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
DIVIDE	successive division of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==STRICT ORDERED==	&lt;br /&gt;
same as LESS THAN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==TAN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return tan(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==UNIFORM==&lt;br /&gt;
(Expr, Expr)	draw a value from a uniform distribution, where 	the first expression determines the minimum	 	value and the second determines the maximum&lt;br /&gt;
&lt;br /&gt;
==UNIFORM TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	temporal uniform probability density expression&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variable&amp;gt;	value of an independent variable &amp;lt;Variable&amp;gt;[Expr]	value of a vector global variable&lt;br /&gt;
&amp;lt;Variable&amp;gt;[Expr, Expr]	value of an array global variable&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
(Expr)	value of the expression Expr + Expr	sum of two expressions Expr - Expr	value of the first expression minus the value&lt;br /&gt;
	of the second expression Expr * Expr	product of two expressions Expr / Expr	value of the first expression divided by value&lt;br /&gt;
	of the second expression  Expr ^ Expr	value of the first expression to the power of&lt;br /&gt;
	the value of the second expression. An nth&lt;br /&gt;
	root can be computed with1/n as the power.&lt;br /&gt;
| Expr |	absolute value of the expression &lt;br /&gt;
&lt;br /&gt;
==WAIT UNTIL==&lt;br /&gt;
Expr	Suspend execution until the expression returns 			TRUE (1). This is intended for controlling&lt;br /&gt;
			communication and synchronization with&lt;br /&gt;
			an external application. [[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==WHILE==&lt;br /&gt;
Expr	While loop: process sub-expressions denoted by&lt;br /&gt;
 …	 “…” while the expression evaluates to TRUE&lt;br /&gt;
ENDFN	&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==ZERO==&lt;br /&gt;
	return 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
        DECISION Expr	&lt;br /&gt;
        COST Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==&lt;br /&gt;
(StartLocation, EndLocation)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs)&lt;br /&gt;
	DECISION Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
		Defines a region with cells that approximate&lt;br /&gt;
		the least-cost path between two cells. The&lt;br /&gt;
		first generates the cost function internally.&lt;br /&gt;
		The latter two use input information from a&lt;br /&gt;
		pre-computed cost surface region. Providing &lt;br /&gt;
		both the gradient and anchor location layers &lt;br /&gt;
		provides the most accurate approximation.&lt;br /&gt;
&lt;br /&gt;
Iteration is a common aspect of models (even if it is very procedural). Most programming languages offer a “for-loop” of some kind. SELES presently provides “over index sequence” expressions as a slightly more declarative (although also more cumbersome) expression for iterating. While-loops can also be used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==OVER INDEX SEQUENCE==&lt;br /&gt;
(Expr, Expr)	defines linear sequence of location indices. &lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns &lt;br /&gt;
		TRUE will be included.  The system variable &lt;br /&gt;
		Index holds the value of the index at each value &lt;br /&gt;
		in the sequence&lt;br /&gt;
&lt;br /&gt;
Over region expressions are very frequently used to visit all cells in a landscape that meet some condition (e.g. to compute the size of the forest at initiation).&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
OVER RegionFunction	Apply a set of sub-expressions at all spatial&lt;br /&gt;
   Expression	locations specified by a region function&lt;br /&gt;
	        :&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
AT LOCATION #Expr	Apply a set of state-changes at a specified&lt;br /&gt;
   Expression	location&lt;br /&gt;
	:&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
Matrix assignment is indicated using “[=]” instead of “=”.  The proper dimensions of the component arrays must be met.&lt;br /&gt;
&lt;br /&gt;
Variable [=] Variable	assign variable of same dimension, or a &lt;br /&gt;
	single value to all entries&lt;br /&gt;
Variable [=] Variable + Variable	sum variables of same dimension (or with a &lt;br /&gt;
	constant)&lt;br /&gt;
Variable [=] Variable - Variable	subtract variables of same dimension (or&lt;br /&gt;
	with a constant)&lt;br /&gt;
Variable [=] Variable * Variable	matrix or scalar multiplication. &lt;br /&gt;
&lt;br /&gt;
Variable [=] TRANSPOSE(Variable)	matrix transposition&lt;br /&gt;
Variable [=] Variable^-1	invert a matrix&lt;br /&gt;
Variable = SUM(Variable)	sum all entries in a matrix&lt;br /&gt;
Variable [=] SUM ROWS (Variable)	sum all rows of a matrix (result has one&lt;br /&gt;
	value per column)&lt;br /&gt;
Variable [=] SUM COLS(Variable)	sum all columns of a matrix&lt;br /&gt;
&lt;br /&gt;
Variables [=] SORT(Variable, Expr)	sort rows of an input matrix where rank is &lt;br /&gt;
	given by Expr. The system variable “Index” &lt;br /&gt;
	can appear in the expression and will take on&lt;br /&gt;
	the range of indices in the input array. The &lt;br /&gt;
	resulting sorted matrix will be assigned.&lt;br /&gt;
&lt;br /&gt;
Variable [=] MPM_MULT(Variable, Variable)	Performs a “matrix population model” &lt;br /&gt;
	(MPM) integer-based multiplication. &lt;br /&gt;
	Assumes that first matrix is two-dimensional &lt;br /&gt;
	and that second is a vector. The result is &lt;br /&gt;
	two-dimensional, where entries above &lt;br /&gt;
	diagonal represent &amp;quot;offspring&amp;quot;, entries on the&lt;br /&gt;
	diagonal represent &amp;quot;survivors&amp;quot; and entries &lt;br /&gt;
	below the diagonal represent &amp;quot;succeeders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Variable [=] CONTAG(Variable, Variable)	Creates a “temporal contagion” matrix. &lt;br /&gt;
	Given probabilities (first parameter) for a set&lt;br /&gt;
	of states and a two-dimensional contagion &lt;br /&gt;
	array (values –1 to 1 indicating affinity), &lt;br /&gt;
	generates a matrix where each row is a prob. &lt;br /&gt;
	dist. For transitions given the row value, and &lt;br /&gt;
	the overall target dist. will be met.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Matrix Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE== &lt;br /&gt;
ALL(LinkedVariable)	clears variable. No return value&lt;br /&gt;
SIZE(LinkedVariable)	number of elements, entries or nodes&lt;br /&gt;
==IS EMPTY==&lt;br /&gt;
(LinkedVariable)	TRUE if and only if variable has 0 elements&lt;br /&gt;
 [[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIRST==&lt;br /&gt;
(LinkedVariable)	returns position of first element, entry or&lt;br /&gt;
	node[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	following position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==PREV==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	preceding position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==REMOVE==&lt;br /&gt;
(LinkedVariable, PosVariable)	remove and deletes element, entry or node &lt;br /&gt;
	at position&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET(LinkedVariable, PosVariable)	get element, entry or node at position&lt;br /&gt;
X [=] GET(LinkedVariable, PosVariable, Index)	get single value in a given index&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, Variable)	set element, entry or node at position&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	set value at specified index of element,&lt;br /&gt;
	entry or node at position[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND==&lt;br /&gt;
(LinkedVariable, , TmpVariable Condition)	return first position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable, TmpVariable, Condition)	&lt;br /&gt;
	return next position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==SORT==&lt;br /&gt;
(LinkedVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	sort elements, entries or nodes according to &lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
&lt;br /&gt;
==CONTAINS==&lt;br /&gt;
(SetVariable, ElementVariable)	TRUE if and only if set variable “contains” &lt;br /&gt;
	variable provided, where two elements are &lt;br /&gt;
	identical if they have identical values[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
==INSERT==&lt;br /&gt;
(SetVariable, ElementVariable)	add element to set. Only changes set if it &lt;br /&gt;
	doesn’t already contain the element&lt;br /&gt;
SetVariable = UNION(Set1, Set2)	take union of two set variables&lt;br /&gt;
SetVariable = INTERSECTION(Sete1, Set2)	take intersection of two set variables&lt;br /&gt;
SetVariable = SUBTRACT(Sete1, Set2)	subtract second set variable from first&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
(ListVariable)	returns position of first entry [[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==TAIL==&lt;br /&gt;
(ListVariable)	returns position of last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT HEAD==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to front of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT TAIL==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to end of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT BEFORE==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry before given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AFTER==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry after given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AT==(ListVariable, Index, EntryElement)	add an entry at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE HEAD==(ListVariable)	removes and deletes first entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE TAIL== (ListVariable)	removes and deletes last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE AT INDEX==(ListVariable, Index)	removes and deletes entry at given index&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET HEAD(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET TAIL(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET AT INDEX(ListVariable, Index)	returns entry at given index&lt;br /&gt;
Pos = POS AT INDEX(ListVariable, Index)	returns position at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
&lt;br /&gt;
==ADD ROOT==(TreeVariable, EntryElement)	add root element of a tree&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT LEFT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the left of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT RIGHT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the right of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT CHILD==(TreeVariable, PosVariable, EntryElement, Index)&lt;br /&gt;
	add child to a node at given index (from&lt;br /&gt;
	left)&lt;br /&gt;
&lt;br /&gt;
n = CHILDREN(TreeVariable, PosVariable)	number of children at a given position&lt;br /&gt;
Pos = PARENT(TreeVariable, PosVariable)	Position of parent of a node&lt;br /&gt;
Pos = LEFT CHILD(TreeVariable, PosVariable)	Position of leftmost child of a node&lt;br /&gt;
Pos = RIGHT CHILD(TreeVariable, PosVariable)	Position of rightmost child of a node&lt;br /&gt;
Pos = CHILD(TreeVariable, PosVariable, Index)	Position of indexed (from left) child of a &lt;br /&gt;
	node&lt;br /&gt;
Pos = NEXT SIBLING(TreeVariable, PosVariable)	Position of next sibling to right of a node&lt;br /&gt;
Pos = PREV SIBLING(TreeVariable, PosVariable)	Position of previous  sibling to right of a &lt;br /&gt;
node&lt;br /&gt;
&lt;br /&gt;
Pos = NEXT DFS(TreeVariable, PosVariable)	Position of next node in depth-first&lt;br /&gt;
	pre-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Pos = NEXT POSTORDER DFS(TreeVariable, PosVariable)&lt;br /&gt;
	Position of next node in depth-first&lt;br /&gt;
	post-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Variable [=] GET LEFT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of leftmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET RIGHT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of rightmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET CHILD(TreeVariable, PosVariable, Index)&lt;br /&gt;
	returns entry of child with given index&lt;br /&gt;
	(from left) for a given node&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE ALL LINKS==&lt;br /&gt;
(GraphVariable) 	clears links of a graph variable&lt;br /&gt;
==SIZE LINKS==&lt;br /&gt;
(GraphVariable)	number of links in graph&lt;br /&gt;
==IS EMPTY LINKS==&lt;br /&gt;
(GraphVariable)	TRUE if and only if graph has 0 links&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIRST LINK==&lt;br /&gt;
(GraphVariable)	returns position of first link[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link following position&lt;br /&gt;
	provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==PREV LINK== &lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link preceding position&lt;br /&gt;
	provided&lt;br /&gt;
Variable [=] GET LINK(GraphVariable, PosVariable)&lt;br /&gt;
	get link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==CONTAINS LINK==&lt;br /&gt;
(GraphVariable, LinkVariable)	TRUE if and only if graph variable contains &lt;br /&gt;
	variable provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==REMOVE LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	remove and deletes link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, LinkVariable)&lt;br /&gt;
	 Set link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	Set value at specified index of link at&lt;br /&gt;
	position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND LINK==&lt;br /&gt;
(GraphVariable, TmpVariable, Condition)&lt;br /&gt;
	Return first position of link that satisfies the&lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable, TmpVariable, Condition)&lt;br /&gt;
	Return next position of a link that satisfies &lt;br /&gt;
	the condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SORT LINKS==&lt;br /&gt;
(GraphVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	Sort links according to condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==LINKED==&lt;br /&gt;
(GraphVariable, NodeVariable1, NodeVariable2, LinkType)&lt;br /&gt;
	TRUE if the nodes are linked. Set LinkType &lt;br /&gt;
	to 0 for direct links and 1 for indirect&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Language_Reference&amp;diff=2137</id>
		<title>Language Reference</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Language_Reference&amp;diff=2137"/>
		<updated>2006-10-04T19:59:07Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ABSOLUTE==&lt;br /&gt;
(Expr)	absolute value of the expression &lt;br /&gt;
==Expr % Expr==&lt;br /&gt;
	value of the first expression modulo the value of&lt;br /&gt;
	the second expression (assumes that the values&lt;br /&gt;
	of the expressions are integers)&lt;br /&gt;
&lt;br /&gt;
==AND==		&lt;br /&gt;
TRUE (1) if all sub-expressions evaluate to&lt;br /&gt;
		TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ARCCOS==(Expr)	inverse cos of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCSIN==&lt;br /&gt;
(Expr)	inverse sine of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr)	inverse tan of the value of the expression [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==ARCTAN==&lt;br /&gt;
(Expr, Expr)	inverse tan where first expression is x offset&lt;br /&gt;
		and second is y offset. Providing two &lt;br /&gt;
		expressions gives more information about the &lt;br /&gt;
		quadrant.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==BITWISE OR==&lt;br /&gt;
(Expr, Expr)	Bitwise OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE AND==&lt;br /&gt;
(Expr, Expr)	Bitwise AND of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE XOR==&lt;br /&gt;
(Expr, Expr)	Bitwise exclusive-OR of two values[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==BITWISE NOT==&lt;br /&gt;
 Expr	Bitwise NOT of a value[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
(Expr)	base of the natural logarithm (e) to the power of&lt;br /&gt;
	the expression&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CEILING==&lt;br /&gt;
(Expr)	smallest integer larger than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLAMP==&lt;br /&gt;
(Expr, MinExpr, MaxExpr)	clamp the value X of the expression to the range&lt;br /&gt;
			[Min, Max]: if X &amp;lt; Min then return Min; if  			X &amp;lt; Max return Max. Otherwise return X.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	if the value of the variable X is equal to one of &lt;br /&gt;
	CLASS Number: Expr	the classes listed, then return the result of the.&lt;br /&gt;
	   :	associated expression. Otherwise return 0.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X)	return the result of the kth expression in the list,&lt;br /&gt;
Expr	where k = X – minimum value of the variables&lt;br /&gt;
   :	(this may be non-0 only for layers)&lt;br /&gt;
   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): ( Number+)	return the kth number in the list, where &lt;br /&gt;
		k = X – minimum value of the variable (this&lt;br /&gt;
may be non-0 only for layers)[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. Rarely&lt;br /&gt;
		used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFY==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file. Rarely used.&lt;br /&gt;
&lt;br /&gt;
Classified functions use the variable as an index into the list of numbers or expressions that follow. The “CLASS” keyword is optional.  This variable must be non-negative. If “CLASS # :” is used, then the number refers to the value of the indexing variable. If a class is not specified for a given value, its expression is implicitly ZERO.  Interpolation tables are very similar except that the variable is assumed to be continuous instead of classified.  An interpolated value between classes is returned.  Lookup tables are also similar, except that both the variable and classes are assumed to be continuous values. An interpolated value between classes is also returned. Rarely used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
draw a value from a discrete distribution, where 	CLASS Number: Expr	each expression determines the relative  		:	probability of its associated class being drawn. ENDFN		The CLASS keyword is optional.&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST==&lt;br /&gt;
( Number+)	in this form, the classes are assumed to start at 			zero. Only constant probabilities can be given.&lt;br /&gt;
==CLASSIFIED_DIST==	&lt;br /&gt;
in this form, the classes are assumed to start at Expr		zero    :&lt;br /&gt;
ENDFN&lt;br /&gt;
&lt;br /&gt;
==CLASSIFIED_DIST[M]==&lt;br /&gt;
In this form, the classes in a one-dimensional&lt;br /&gt;
			array M, and so start at zero.&lt;br /&gt;
==COS==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return cos(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==CRITICAL SECTION==&lt;br /&gt;
(Flag)	Enter (if Flag is TRUE) or exit (if Flag is 			FALSE) a critical section. A critical section 			gives priority to this application, and is used for&lt;br /&gt;
			synchronizing access to shared variables&lt;br /&gt;
(i.e. shared with another application).[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DEBUG==&lt;br /&gt;
		Update the simulation probe, if it is loaded and&lt;br /&gt;
			The event is selected. Used to debug/verify&lt;br /&gt;
			event behaviour.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	known location indices. If there is a decision expression, then only those cells for which this &lt;br /&gt;
		expression returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== Expr	location indices stored in one-dimensional X. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DECISION== &lt;br /&gt;
Expr	defines a region centred on the current cell.&lt;br /&gt;
		If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns&lt;br /&gt;
		TRUE will be included.&lt;br /&gt;
&lt;br /&gt;
DistanceType is either CARDINAL or EUCLIDEAN (the default). Cardinal distance between two cells is the minimum number of cardinal steps (up, down, left, right) to reach one cell from the other. Euclidean distance is the straight-line distance between two points. The WRAPPED flag, if present indicates that the region wraps around the sides (vertically and horizontally) of the landscape (e.g. a location x positions beyond the right-hand side of a raster will be mapped to x positions in from the left-hand side of the raster). If not present, the landscape does not wrap.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==DIRECTION==&lt;br /&gt;
(Expr, Expr)	angle in degrees between two location indices&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==DISPLAY==		Display on the screen the labelled 	Label: Expr	values computed with the expressions listed.&lt;br /&gt;
	      ….		If no label is given, the expression must&lt;br /&gt;
ENDFN		be a variable, and this is used for the label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
==DISPLAY==		Same as above, but only display if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	The keyword DECISION can be replaced by&lt;br /&gt;
	      ….		a “?”&lt;br /&gt;
ENDFN		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Output to the record file of output variable	the labelled values computed with the  Label: Expr	expressions listed. If no label is given, the&lt;br /&gt;
	      ….		Expression must be a variable and this is&lt;br /&gt;
ENDFN		used as label.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Output Expressions]]&lt;br /&gt;
OUTPUT RECORD(OutputVar)	Same as above, but only output if the  DECISION Expr	decision expression evaluates to TRUE&lt;br /&gt;
	Label: Expr	&lt;br /&gt;
	      ….		&lt;br /&gt;
ENDFN		&lt;br /&gt;
&lt;br /&gt;
==DISTANCE==&lt;br /&gt;
(Expr, Expr)	distance between two location indices (normally&lt;br /&gt;
	obtained using the Location variable). Thus,&lt;br /&gt;
	DISTANCE(loc1, loc2) is &lt;br /&gt;
	sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y))&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ELSE==&lt;br /&gt;
        expression evaluates to TRUE and the set of&lt;br /&gt;
 …	sub-expressions after the ELSE otherwise. Note &lt;br /&gt;
ENDFN	that “ELSE IF expr” forms can be strung&lt;br /&gt;
	together[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==EQUAL	TRUE== &lt;br /&gt;
(1) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==FLOOR==&lt;br /&gt;
(Expr)		largest integer smaller than the expression value[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==GEOMETRIC MEAN==	&lt;br /&gt;
geometric mean of the sub-expressions  (nth &lt;br /&gt;
		root of the product for n expressions)&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==GREATER THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;gt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
Procedural IF statement to process&lt;br /&gt;
 …	sub-expressions denoted by “…” only if the &lt;br /&gt;
ENDFN	expression evaluates to TRUE[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==IF Expr==&lt;br /&gt;
        Procedural IF statement to process the first set&lt;br /&gt;
 …	of sub-expressions denoted by “…”if the &lt;br /&gt;
==IF Expr THEN Expr ELSE==&lt;br /&gt;
Expr	if value of the IF expression is TRUE (&amp;gt;= 1), 	then return the value of the THEN expression,&lt;br /&gt;
	otherwise return value of the ELSE expression&lt;br /&gt;
&lt;br /&gt;
(Expr ? Expr : Expr)	Same as above, but this form can be used as an&lt;br /&gt;
	embedded sub-expression.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	return an interpolated value where the value of&lt;br /&gt;
	CLASS Number: Number	variable X is placed between two classes or at&lt;br /&gt;
 	   :	either end of the table.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]				&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==INTERPOLATE==(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==INTERPOLATE==(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table &lt;br /&gt;
		file.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS OR EQUAL==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;=, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
&lt;br /&gt;
ORDERED	same as LESS OR EQUAL&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LESS THAN==	&lt;br /&gt;
TRUE (1) if the sub-expression evaluations are&lt;br /&gt;
		all ordered according to the relation &amp;lt;, and&lt;br /&gt;
		FALSE (0) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG==&lt;br /&gt;
(Expr)	natural logarithm of the value of the expression.&lt;br /&gt;
	Logarithms in other bases can be computed as&lt;br /&gt;
	logb(x) = ln(x) / ln(b)&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal cumulative density function, where&lt;br /&gt;
			the first expression specifies the value, the &lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
==LOG NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	log normal probability density function, where&lt;br /&gt;
			the first expression specifies the value, the&lt;br /&gt;
			second is the mean and the third is the standard &lt;br /&gt;
			deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOG NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)  temporal log normal probability density&lt;br /&gt;
			function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): ( Number+)	same as above, except the classes are&lt;br /&gt;
		implicitly 0, …. k-1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the values in the&lt;br /&gt;
	CLASS Number: Expr	table are obtained by evaluating expressions&lt;br /&gt;
	   :		&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X)	same as above, except the classes are &lt;br /&gt;
Expr	implicitly 0, …, k-1&lt;br /&gt;
   :			&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]		&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
==LOOKUP==&lt;br /&gt;
(X): Filename Key	uses the table in the named file, which is &lt;br /&gt;
		assumed to consist of class:value pairs. The key &lt;br /&gt;
		is used to specify a sub-table in a multi-table&lt;br /&gt;
		file&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Classified and Discrete Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr EQ Expr	TRUE if the values of the two expressions are&lt;br /&gt;
		equal; otherwise FALSE [[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr == Expr	alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment)[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr NEQ Expr	TRUE if the values are not equal; otherwise&lt;br /&gt;
		FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr != Expr	alternate form of NOT EQUAL comparison[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;lt; Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than the value of the second expression;&lt;br /&gt;
		otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;lt;= Expr	TRUE if the value of the first expression is less&lt;br /&gt;
		than or equal to the value of the second&lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr &amp;gt; Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than the value of the second &lt;br /&gt;
		expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
Expr &amp;gt;= Expr	TRUE if the value of the first expression is&lt;br /&gt;
		greater than or equal to the value of the &lt;br /&gt;
		second expression; otherwise FALSE[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
!Expr		Negates the expression Boolean value[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr AND Expr	TRUE if values of both expressions are&lt;br /&gt;
		TRUE and FALSE otherwise[[Model Builder&#039;s Guide Chapter 9#Boolean Functions]]&lt;br /&gt;
&lt;br /&gt;
Expr OR Expr	TRUE if value of at least one expression is&lt;br /&gt;
		TRUE and FALSE otherwise&lt;br /&gt;
&lt;br /&gt;
==MAX POSITION==&lt;br /&gt;
(Expr)	Return the maximum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==MEAN==		&lt;br /&gt;
average of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
==MAX==		&lt;br /&gt;
maximum of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN== 	&lt;br /&gt;
minimum of the sub-expressions &lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==MIN POSITION==&lt;br /&gt;
(Expr)	Return the minimum 0-based bit position that is &lt;br /&gt;
		set to one in the expression  value (interpreted &lt;br /&gt;
		as a bit-vector), or –1 if no bits are set&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==NEGEXP==&lt;br /&gt;
(Expr)	draw a value from a negative exponential 	distribution, where the expression specifies the&lt;br /&gt;
	mean&lt;br /&gt;
 POISSION(Expr)	draw a value from a Poisson distribution&lt;br /&gt;
&lt;br /&gt;
==NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal cumulative density function, where the 			first expression is the value, the second is the			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	normal probability density function, where the 			first expression is the value, the second is the  			mean and the third is the standard deviation &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr) 	temporal normal probability density function &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==NOT EQUAL==	&lt;br /&gt;
FALSE (0) if the sub-expressions all evaluate to&lt;br /&gt;
		the same value and TRUE (1) otherwise&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==ONE==&lt;br /&gt;
	return 1.0&lt;br /&gt;
#Number	return value of the number specified&lt;br /&gt;
&amp;lt;Constant&amp;gt;	return value of a named constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr]	return value of a named vector constant&lt;br /&gt;
&amp;lt;Constant&amp;gt;[Expr, Expr]	return value of a named array constant&lt;br /&gt;
&amp;lt;Macro&amp;gt;[Expr]	return value of expression at specified index&lt;br /&gt;
	in macro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr)	draw a value from a normal distribution, where&lt;br /&gt;
	the first expression specifies the mean and&lt;br /&gt;
	the second specifies the standard deviation&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr, Expr)	draw a value from a skewed normal distribution, 	where the first expression specifies the mode &lt;br /&gt;
	and the second and third specify the standard &lt;br /&gt;
	deviations to the left and right of the mode &lt;br /&gt;
(Expr, Expr)	draw a value from a log normal distribution,&lt;br /&gt;
	where the first expression specifies the mean&lt;br /&gt;
	and the second specifies the standard deviation &lt;br /&gt;
	of the underlying normal distribution&lt;br /&gt;
&lt;br /&gt;
(Expr, Expr) 	draw a value from a Weibull distribution, where&lt;br /&gt;
	the first expression specifies the beta and the&lt;br /&gt;
	second specifies alpha (Note:terminology varies&lt;br /&gt;
	between sources. The version here is equivalent&lt;br /&gt;
	to that in Excel, with reversal of parameters).&lt;br /&gt;
&lt;br /&gt;
==OR==		&lt;br /&gt;
TRUE (1) if at least one sub-expression&lt;br /&gt;
		evaluates to TRUE and FALSE (0) otherwise &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
	Halts the simulation and displays a dialog&lt;br /&gt;
	box to which the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE IF==&lt;br /&gt;
Expr	If the expression evaluates to TRUE, halts the &lt;br /&gt;
			simulation and displays a dialog box to which &lt;br /&gt;
			the user must respond to continue[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE==&lt;br /&gt;
(#Value)	Pauses the simulation for the specified number&lt;br /&gt;
			of milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==PAUSE (#Value)IF== &lt;br /&gt;
Expr	If the expression evaluates to TRUE, Pauses the &lt;br /&gt;
			simulation for the specified number of &lt;br /&gt;
			milliseconds and then continues[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL CDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal cumulative density function, 			where the first expression specifies the value, &lt;br /&gt;
			the second is the mode, and the third and fourth 			are the left and right standard deviations&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)	skewed normal probability density function,&lt;br /&gt;
	where the first expression specifies the value,&lt;br /&gt;
	the second is the mode and the third and fourth	are the standard deviations to the left and right&lt;br /&gt;
	of the mode. &lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==SKEWED NORMAL TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr, Expr)&lt;br /&gt;
			temporal skewed normal probability density &lt;br /&gt;
			function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
==RECOMPUTE==	&lt;br /&gt;
Only valid in consequent expressions of &lt;br /&gt;
			ProbInit and also when ProbInit recompute flag&lt;br /&gt;
			has been set. Causes prob. surface to be&lt;br /&gt;
			recomputed before next selection&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==REGION CENTRED== &lt;br /&gt;
(Expr, Expr [, DistanceType][, WRAPPED])&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION==&lt;br /&gt;
(Expr)	defines the region consisting of a of a single&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==&lt;br /&gt;
(Number+)	defines the region consisting of a set of ????&lt;br /&gt;
&lt;br /&gt;
==REGION LOCATION LIST==(X,n)	defines the region consisting of a set of n&lt;br /&gt;
&lt;br /&gt;
==REGION RECT== &lt;br /&gt;
(Expr, Expr, Expr, Expr)	defines a rectangular region. If there is a&lt;br /&gt;
	DECISION Expr	decision expression defined, then only those&lt;br /&gt;
		cells for which this expression returns&lt;br /&gt;
		TRUE will be included&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==REGION WHOLE MAP==	&lt;br /&gt;
defines the region consisting of the entire&lt;br /&gt;
	DECISION Expr	landscape. If there is a decision expression, &lt;br /&gt;
		then only those cells for which this expression &lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
==RESIZE==&lt;br /&gt;
(Variable, Expr)	Changes size (number of entries) in a global&lt;br /&gt;
			variable. Values are not maintained. Useful for &lt;br /&gt;
			when size is not known prior to simulation.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==RESPONSE==&lt;br /&gt;
(Expr, #A, #B, #C)	two-sided version of a standard response &lt;br /&gt;
function for the value X of the first expression: &lt;br /&gt;
if (X &amp;lt; A) return e^(-(X-A)^2/(2*(C^2))&lt;br /&gt;
			else if (X &amp;gt; B) return e^(-(X-B)^2/(2*(C^2))&lt;br /&gt;
			else return 1&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Miscellaneous)]]&lt;br /&gt;
&lt;br /&gt;
==ROUND==&lt;br /&gt;
(Expr)	expression value rounded to the nearest integer[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SEED()==&lt;br /&gt;
		Gets the random number seed[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
==SEED==&lt;br /&gt;
(Expr)		Sets the random number seed. Value returned is &lt;br /&gt;
			next seed.[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList, #Type)	Set the value specified by the expression, at &lt;br /&gt;
		the positions in PositionList to: FALSE (0) &lt;br /&gt;
		if Type is 0, TRUE (1) if Type is 1,&lt;br /&gt;
		and flip the bits if Type = 2&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SETAT==&lt;br /&gt;
(Expr, PositionList,#Type,#Prob)	Same as above, except each position is set&lt;br /&gt;
		with probability #Prob&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SELECTAT==&lt;br /&gt;
(Expr, PositionList)	FALSE(0) if none of the bits in PositionList are&lt;br /&gt;
		set in the specified expression value and&lt;br /&gt;
		TRUE(1) otherwise&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SHIFT LEFT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the left by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
==SHIFT RIGHT==&lt;br /&gt;
(Expr, Expr)	Shifts value of first expression to the right by &lt;br /&gt;
		number of bits specified by second expression[[Model Builder&#039;s Guide Chapter 9#Bit-Vector Functions]]&lt;br /&gt;
&lt;br /&gt;
==SIN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return sin(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==SUM==&lt;br /&gt;
DESCRIPTION: &lt;br /&gt;
Returns the number that is the sum of all the expressions.&lt;br /&gt;
&lt;br /&gt;
USAGE: &lt;br /&gt;
   x=SUM &lt;br /&gt;
       Expr&lt;br /&gt;
       ...  &lt;br /&gt;
     ENDFN&lt;br /&gt;
&lt;br /&gt;
REQUIRED ARGUMENTS:&lt;br /&gt;
Expr is any expression that evaluates to single numeric value.&lt;br /&gt;
&lt;br /&gt;
VALUE: &lt;br /&gt;
the sum of all the arguments.&lt;br /&gt;
&lt;br /&gt;
SEE ALSO: &lt;br /&gt;
&amp;lt;a link to the composite functions section of seles modellers guide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXAMPLES: &amp;lt;add carriage return here&amp;gt;&lt;br /&gt;
Example 1:&lt;br /&gt;
   y = 3&lt;br /&gt;
   x = SUM  &lt;br /&gt;
         y  &lt;br /&gt;
         y+2  &lt;br /&gt;
         5  &lt;br /&gt;
       ENDFN &lt;br /&gt;
&amp;lt;figure out an end example indicator. For example, ***&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAMPLE MODELS: &lt;br /&gt;
&amp;lt;links to sample models where this function is used&amp;gt;&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
DIVIDE	successive division of the sub-expressions&lt;br /&gt;
&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==STRICT ORDERED==	&lt;br /&gt;
same as LESS THAN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Composite Functions]]&lt;br /&gt;
&lt;br /&gt;
==TAN==&lt;br /&gt;
(Expr)	interpret the value of the expression as an angle &lt;br /&gt;
		theta in degrees, and return tan(theta) [[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Trigonometric Functions)]]&lt;br /&gt;
&lt;br /&gt;
==UNIFORM==&lt;br /&gt;
(Expr, Expr)	draw a value from a uniform distribution, where 	the first expression determines the minimum	 	value and the second determines the maximum&lt;br /&gt;
&lt;br /&gt;
==UNIFORM TEMPORAL PDF==&lt;br /&gt;
(Expr, Expr, Expr)	temporal uniform probability density expression&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Probability Density and Cumulative Density Functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variable&amp;gt;	value of an independent variable &amp;lt;Variable&amp;gt;[Expr]	value of a vector global variable&lt;br /&gt;
&amp;lt;Variable&amp;gt;[Expr, Expr]	value of an array global variable&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Continuous Functions (Arithmetic Functions)]]&lt;br /&gt;
&lt;br /&gt;
(Expr)	value of the expression Expr + Expr	sum of two expressions Expr - Expr	value of the first expression minus the value&lt;br /&gt;
	of the second expression Expr * Expr	product of two expressions Expr / Expr	value of the first expression divided by value&lt;br /&gt;
	of the second expression  Expr ^ Expr	value of the first expression to the power of&lt;br /&gt;
	the value of the second expression. An nth&lt;br /&gt;
	root can be computed with1/n as the power.&lt;br /&gt;
| Expr |	absolute value of the expression &lt;br /&gt;
&lt;br /&gt;
==WAIT UNTIL==&lt;br /&gt;
Expr	Suspend execution until the expression returns 			TRUE (1). This is intended for controlling&lt;br /&gt;
			communication and synchronization with&lt;br /&gt;
			an external application. [[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==WHILE==&lt;br /&gt;
Expr	While loop: process sub-expressions denoted by&lt;br /&gt;
 …	 “…” while the expression evaluates to TRUE&lt;br /&gt;
ENDFN	&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Control Expressions]]&lt;br /&gt;
&lt;br /&gt;
==ZERO==&lt;br /&gt;
	return 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
==DECISION== Expr location index. If there is a decision expression,&lt;br /&gt;
		then only those cells for which this expression&lt;br /&gt;
		returns TRUE will be included.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION VECTOR== (StartLocation, EndLocation)	defines region consisting of cells along an&lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	approximation of line between end cells&lt;br /&gt;
&lt;br /&gt;
Cost surface and least-cost path regions are advanced features that are best understood with an example model.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION COST SURFACE==&lt;br /&gt;
(EndLocation, MaxCost, CostSurface, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
==DECISION==&lt;br /&gt;
 Expr	&lt;br /&gt;
==COST==&lt;br /&gt;
 Expr&lt;br /&gt;
		Defines a region surrounding a cell with &lt;br /&gt;
		cumulative costs less than MaxCost. Stops&lt;br /&gt;
		growing when EndLocation is reached or all&lt;br /&gt;
		costs are greater than MaxCost. Second form &lt;br /&gt;
		also records gradient and anchor location&lt;br /&gt;
		layers. The CostSurface layer records the&lt;br /&gt;
		cumulative cost from the cost function&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==&lt;br /&gt;
(StartLocation, EndLocation)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
	COST Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs)&lt;br /&gt;
	DECISION Expr[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==REGION LEAST COST PATH==(StartLocation, EndLocation, LeastCostNeighbs, AnchorLoc)&lt;br /&gt;
	DECISION Expr&lt;br /&gt;
		Defines a region with cells that approximate&lt;br /&gt;
		the least-cost path between two cells. The&lt;br /&gt;
		first generates the cost function internally.&lt;br /&gt;
		The latter two use input information from a&lt;br /&gt;
		pre-computed cost surface region. Providing &lt;br /&gt;
		both the gradient and anchor location layers &lt;br /&gt;
		provides the most accurate approximation.&lt;br /&gt;
&lt;br /&gt;
Iteration is a common aspect of models (even if it is very procedural). Most programming languages offer a “for-loop” of some kind. SELES presently provides “over index sequence” expressions as a slightly more declarative (although also more cumbersome) expression for iterating. While-loops can also be used.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
==OVER INDEX SEQUENCE==&lt;br /&gt;
(Expr, Expr)	defines linear sequence of location indices. &lt;br /&gt;
==DECISION==&lt;br /&gt;
Expr	If there is a decision expression, then only &lt;br /&gt;
		those cells for which this expression returns &lt;br /&gt;
		TRUE will be included.  The system variable &lt;br /&gt;
		Index holds the value of the index at each value &lt;br /&gt;
		in the sequence&lt;br /&gt;
&lt;br /&gt;
Over region expressions are very frequently used to visit all cells in a landscape that meet some condition (e.g. to compute the size of the forest at initiation).&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
OVER RegionFunction	Apply a set of sub-expressions at all spatial&lt;br /&gt;
   Expression	locations specified by a region function&lt;br /&gt;
	        :&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
AT LOCATION #Expr	Apply a set of state-changes at a specified&lt;br /&gt;
   Expression	location&lt;br /&gt;
	:&lt;br /&gt;
ENDFN&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Region Functions]]&lt;br /&gt;
&lt;br /&gt;
Matrix assignment is indicated using “[=]” instead of “=”.  The proper dimensions of the component arrays must be met.&lt;br /&gt;
&lt;br /&gt;
Variable [=] Variable	assign variable of same dimension, or a &lt;br /&gt;
	single value to all entries&lt;br /&gt;
Variable [=] Variable + Variable	sum variables of same dimension (or with a &lt;br /&gt;
	constant)&lt;br /&gt;
Variable [=] Variable - Variable	subtract variables of same dimension (or&lt;br /&gt;
	with a constant)&lt;br /&gt;
Variable [=] Variable * Variable	matrix or scalar multiplication. &lt;br /&gt;
&lt;br /&gt;
Variable [=] TRANSPOSE(Variable)	matrix transposition&lt;br /&gt;
Variable [=] Variable^-1	invert a matrix&lt;br /&gt;
Variable = SUM(Variable)	sum all entries in a matrix&lt;br /&gt;
Variable [=] SUM ROWS (Variable)	sum all rows of a matrix (result has one&lt;br /&gt;
	value per column)&lt;br /&gt;
Variable [=] SUM COLS(Variable)	sum all columns of a matrix&lt;br /&gt;
&lt;br /&gt;
Variables [=] SORT(Variable, Expr)	sort rows of an input matrix where rank is &lt;br /&gt;
	given by Expr. The system variable “Index” &lt;br /&gt;
	can appear in the expression and will take on&lt;br /&gt;
	the range of indices in the input array. The &lt;br /&gt;
	resulting sorted matrix will be assigned.&lt;br /&gt;
&lt;br /&gt;
Variable [=] MPM_MULT(Variable, Variable)	Performs a “matrix population model” &lt;br /&gt;
	(MPM) integer-based multiplication. &lt;br /&gt;
	Assumes that first matrix is two-dimensional &lt;br /&gt;
	and that second is a vector. The result is &lt;br /&gt;
	two-dimensional, where entries above &lt;br /&gt;
	diagonal represent &amp;quot;offspring&amp;quot;, entries on the&lt;br /&gt;
	diagonal represent &amp;quot;survivors&amp;quot; and entries &lt;br /&gt;
	below the diagonal represent &amp;quot;succeeders&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Variable [=] CONTAG(Variable, Variable)	Creates a “temporal contagion” matrix. &lt;br /&gt;
	Given probabilities (first parameter) for a set&lt;br /&gt;
	of states and a two-dimensional contagion &lt;br /&gt;
	array (values –1 to 1 indicating affinity), &lt;br /&gt;
	generates a matrix where each row is a prob. &lt;br /&gt;
	dist. For transitions given the row value, and &lt;br /&gt;
	the overall target dist. will be met.&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Matrix Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE== &lt;br /&gt;
ALL(LinkedVariable)	clears variable. No return value&lt;br /&gt;
SIZE(LinkedVariable)	number of elements, entries or nodes&lt;br /&gt;
==IS EMPTY==&lt;br /&gt;
(LinkedVariable)	TRUE if and only if variable has 0 elements&lt;br /&gt;
 [[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIRST==&lt;br /&gt;
(LinkedVariable)	returns position of first element, entry or&lt;br /&gt;
	node[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	following position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==PREV==&lt;br /&gt;
(LinkedVariable, PosVariable)	returns position of element, entry or node &lt;br /&gt;
	preceding position provided[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==REMOVE==&lt;br /&gt;
(LinkedVariable, PosVariable)	remove and deletes element, entry or node &lt;br /&gt;
	at position&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET(LinkedVariable, PosVariable)	get element, entry or node at position&lt;br /&gt;
X [=] GET(LinkedVariable, PosVariable, Index)	get single value in a given index&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, Variable)	set element, entry or node at position&lt;br /&gt;
==SET==&lt;br /&gt;
(LinkedVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	set value at specified index of element,&lt;br /&gt;
	entry or node at position[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND==&lt;br /&gt;
(LinkedVariable, , TmpVariable Condition)	return first position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==FIND NEXT==&lt;br /&gt;
(LinkedVariable, PosVariable, TmpVariable, Condition)	&lt;br /&gt;
	return next position of an element, entry or&lt;br /&gt;
	node that satisfies the condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
==SORT==&lt;br /&gt;
(LinkedVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	sort elements, entries or nodes according to &lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#General Set, List and Graph Functions]]&lt;br /&gt;
&lt;br /&gt;
==CONTAINS==&lt;br /&gt;
(SetVariable, ElementVariable)	TRUE if and only if set variable “contains” &lt;br /&gt;
	variable provided, where two elements are &lt;br /&gt;
	identical if they have identical values[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
==INSERT==&lt;br /&gt;
(SetVariable, ElementVariable)	add element to set. Only changes set if it &lt;br /&gt;
	doesn’t already contain the element&lt;br /&gt;
SetVariable = UNION(Set1, Set2)	take union of two set variables&lt;br /&gt;
SetVariable = INTERSECTION(Sete1, Set2)	take intersection of two set variables&lt;br /&gt;
SetVariable = SUBTRACT(Sete1, Set2)	subtract second set variable from first&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Set Functions]]&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
(ListVariable)	returns position of first entry [[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==TAIL==&lt;br /&gt;
(ListVariable)	returns position of last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT HEAD==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to front of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT TAIL==&lt;br /&gt;
(ListVariable, EntryElement)	add an entry to end of list[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT BEFORE==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry before given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AFTER==(ListVariable, Index, EntryElement)&lt;br /&gt;
	add an entry after given index[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==INSERT AT==(ListVariable, Index, EntryElement)	add an entry at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE HEAD==(ListVariable)	removes and deletes first entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE TAIL== (ListVariable)	removes and deletes last entry[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
==REMOVE AT INDEX==(ListVariable, Index)	removes and deletes entry at given index&lt;br /&gt;
&lt;br /&gt;
Variable [=] GET HEAD(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET TAIL(ListVariable)	returns first entry&lt;br /&gt;
Variable [=] GET AT INDEX(ListVariable, Index)	returns entry at given index&lt;br /&gt;
Pos = POS AT INDEX(ListVariable, Index)	returns position at given index&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#List Functions]]&lt;br /&gt;
&lt;br /&gt;
==ADD ROOT==(TreeVariable, EntryElement)	add root element of a tree&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT LEFT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the left of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT RIGHT CHILD==(TreeVariable, PosVariable, EntryElement)&lt;br /&gt;
	add child to a node on the right of current&lt;br /&gt;
	children[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
==INSERT CHILD==(TreeVariable, PosVariable, EntryElement, Index)&lt;br /&gt;
	add child to a node at given index (from&lt;br /&gt;
	left)&lt;br /&gt;
&lt;br /&gt;
n = CHILDREN(TreeVariable, PosVariable)	number of children at a given position&lt;br /&gt;
Pos = PARENT(TreeVariable, PosVariable)	Position of parent of a node&lt;br /&gt;
Pos = LEFT CHILD(TreeVariable, PosVariable)	Position of leftmost child of a node&lt;br /&gt;
Pos = RIGHT CHILD(TreeVariable, PosVariable)	Position of rightmost child of a node&lt;br /&gt;
Pos = CHILD(TreeVariable, PosVariable, Index)	Position of indexed (from left) child of a &lt;br /&gt;
	node&lt;br /&gt;
Pos = NEXT SIBLING(TreeVariable, PosVariable)	Position of next sibling to right of a node&lt;br /&gt;
Pos = PREV SIBLING(TreeVariable, PosVariable)	Position of previous  sibling to right of a &lt;br /&gt;
node&lt;br /&gt;
&lt;br /&gt;
Pos = NEXT DFS(TreeVariable, PosVariable)	Position of next node in depth-first&lt;br /&gt;
	pre-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Pos = NEXT POSTORDER DFS(TreeVariable, PosVariable)&lt;br /&gt;
	Position of next node in depth-first&lt;br /&gt;
	post-order traversal of a tree. If the position&lt;br /&gt;
	variable is NULL, then the root is returned&lt;br /&gt;
Variable [=] GET LEFT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of leftmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET RIGHT CHILD(TreeVariable, PosVariable)&lt;br /&gt;
	returns entry of rightmost child for a given&lt;br /&gt;
	node&lt;br /&gt;
Variable [=] GET CHILD(TreeVariable, PosVariable, Index)&lt;br /&gt;
	returns entry of child with given index&lt;br /&gt;
	(from left) for a given node&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Tree Functions]]&lt;br /&gt;
&lt;br /&gt;
==REMOVE ALL LINKS==&lt;br /&gt;
(GraphVariable) 	clears links of a graph variable&lt;br /&gt;
==SIZE LINKS==&lt;br /&gt;
(GraphVariable)	number of links in graph&lt;br /&gt;
==IS EMPTY LINKS==&lt;br /&gt;
(GraphVariable)	TRUE if and only if graph has 0 links&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIRST LINK==&lt;br /&gt;
(GraphVariable)	returns position of first link[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link following position&lt;br /&gt;
	provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==PREV LINK== &lt;br /&gt;
(GraphVariable, PosVariable)	returns position of link preceding position&lt;br /&gt;
	provided&lt;br /&gt;
Variable [=] GET LINK(GraphVariable, PosVariable)&lt;br /&gt;
	get link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==CONTAINS LINK==&lt;br /&gt;
(GraphVariable, LinkVariable)	TRUE if and only if graph variable contains &lt;br /&gt;
	variable provided[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==REMOVE LINK==&lt;br /&gt;
(GraphVariable, PosVariable)	remove and deletes link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, LinkVariable)&lt;br /&gt;
	 Set link at position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SET LINK==&lt;br /&gt;
(GraphVariable, PosVariable, entryIndex, Value)&lt;br /&gt;
	Set value at specified index of link at&lt;br /&gt;
	position[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND LINK==&lt;br /&gt;
(GraphVariable, TmpVariable, Condition)&lt;br /&gt;
	Return first position of link that satisfies the&lt;br /&gt;
	condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==FIND NEXT LINK==&lt;br /&gt;
(GraphVariable, PosVariable, TmpVariable, Condition)&lt;br /&gt;
	Return next position of a link that satisfies &lt;br /&gt;
	the condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==SORT LINKS==&lt;br /&gt;
(GraphVariable, TmpVariable1, TmpVariable2, Condition)&lt;br /&gt;
	Sort links according to condition[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;br /&gt;
==LINKED==&lt;br /&gt;
(GraphVariable, NodeVariable1, NodeVariable2, LinkType)&lt;br /&gt;
	TRUE if the nodes are linked. Set LinkType &lt;br /&gt;
	to 0 for direct links and 1 for indirect&lt;br /&gt;
[[Model Builder&#039;s Guide Chapter 9#Graph Functions]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=User_talk:JSH&amp;diff=2136</id>
		<title>User talk:JSH</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=User_talk:JSH&amp;diff=2136"/>
		<updated>2006-10-04T19:46:45Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello, Josie....hope you are getting it this time&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=BCMPB_Provincial_Scale_Mountian_Pine_Beetle_Projection&amp;diff=1868</id>
		<title>BCMPB Provincial Scale Mountian Pine Beetle Projection</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=BCMPB_Provincial_Scale_Mountian_Pine_Beetle_Projection&amp;diff=1868"/>
		<updated>2006-09-25T22:30:36Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SELES was used to implement a provincial scale mountain pine beetle model (BCMPB).&lt;br /&gt;
Marvin Eng(1) Andrew Fall(2) Josie Hughes(3) Terry Shore(4) Bill Riel(4) Peter Hall(5)&lt;br /&gt;
Adrian Walton(1)&lt;br /&gt;
&lt;br /&gt;
(1) [http://www.for.gov.bc.ca/hre/ Research Branch, BC Forest Service]&lt;br /&gt;
(2) [http://www.gowlland.ca/ Gowlland Technologies Ltd.]&lt;br /&gt;
(3) [http://www.zoo.utoronto.ca/fortin/people.htm Landscape Ecology Lab, University of Toronto]&lt;br /&gt;
(4) [http://www.pfc.cfs.nrcan.gc.ca/ Pacific Forestry Centre, Canadian Forest Service]&lt;br /&gt;
(5) [http://www.for.gov.bc.ca/hfp/index.htm Forest Practices Branch, BC Forest Service]&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
To provide a spatially and temporally explicit projection of the current MPB outbreak at a provincial scale. The purpose of providing the projection was to give senior managers and scientists information, at a provincial scale, which could be used in their decision-making processes.&lt;br /&gt;
&lt;br /&gt;
=== Models Built ===&lt;br /&gt;
*Mountain pine beetle projection model - discrete state transition model parameterized with 1999-2005 survey data.&lt;br /&gt;
*Provincial-scale forest management model&lt;br /&gt;
&lt;br /&gt;
=== Comments ===&lt;br /&gt;
This is an interesting example the management and beetle submodels were built by different developers working in parallel. This required a degree of cooperation and collaboration we had not tried before. I think the result was a better model.&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
All the reports and results from the project can be found at http://www.for.gov.bc.ca/HRE/bcmpb/&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=BCMPB_Provincial_Scale_Mountian_Pine_Beetle_Projection&amp;diff=1867</id>
		<title>BCMPB Provincial Scale Mountian Pine Beetle Projection</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=BCMPB_Provincial_Scale_Mountian_Pine_Beetle_Projection&amp;diff=1867"/>
		<updated>2006-09-25T22:29:59Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: /* More Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SELES was used to implement a provincial scale mountain pine beetle model (BCMPB).&lt;br /&gt;
Marvin Eng(1) Andrew Fall(2) Josie Hughes(3) Terry Shore(4) Bill Riel(4) Peter Hall(5)&lt;br /&gt;
Adrian Walton(1)&lt;br /&gt;
&lt;br /&gt;
(1) [http://www.for.gov.bc.ca/hre/ Research Branch, BC Forest Service]&lt;br /&gt;
(2) [http://www.gowlland.ca/ Gowlland Technologies Ltd.]&lt;br /&gt;
(3) [http://www.zoo.utoronto.ca/fortin/people.htm Landscape Ecology Lab, University of Toronto]&lt;br /&gt;
(4) [http://www.pfc.cfs.nrcan.gc.ca/ Pacific Forestry Centre, Canadian Forest Service]&lt;br /&gt;
(5) [http://www.for.gov.bc.ca/hfp/index.htm Forest Practices Branch, BC Forest Service]&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
To provide a spatially and temporally explicit projection of the current MPB outbreak at a provincial scale. The purpose of providing the projection was to give senior managers and scientists information, at a provincial scale, which could be used in their decision-making processes.&lt;br /&gt;
&lt;br /&gt;
=== Models Built ===&lt;br /&gt;
*Mountain pine beetle projection model - discrete state transition model parameterized with 1999-2005 survey data.&lt;br /&gt;
*Provincial-scale forest management model&lt;br /&gt;
&lt;br /&gt;
=== Comments ===&lt;br /&gt;
This is an interesting example the management and beetle submodels were built by different developers working in parallel. This required a degree of cooperation and collaboration we had not tried before. I think the result is a better model.&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
All the reports and results from the project can be found at http://www.for.gov.bc.ca/HRE/bcmpb/&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=BCMPB_Provincial_Scale_Mountian_Pine_Beetle_Projection&amp;diff=1866</id>
		<title>BCMPB Provincial Scale Mountian Pine Beetle Projection</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=BCMPB_Provincial_Scale_Mountian_Pine_Beetle_Projection&amp;diff=1866"/>
		<updated>2006-09-25T22:27:30Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SELES was used to implement a provincial scale mountain pine beetle model (BCMPB).&lt;br /&gt;
Marvin Eng(1) Andrew Fall(2) Josie Hughes(3) Terry Shore(4) Bill Riel(4) Peter Hall(5)&lt;br /&gt;
Adrian Walton(1)&lt;br /&gt;
&lt;br /&gt;
(1) [http://www.for.gov.bc.ca/hre/ Research Branch, BC Forest Service]&lt;br /&gt;
(2) [http://www.gowlland.ca/ Gowlland Technologies Ltd.]&lt;br /&gt;
(3) [http://www.zoo.utoronto.ca/fortin/people.htm Landscape Ecology Lab, University of Toronto]&lt;br /&gt;
(4) [http://www.pfc.cfs.nrcan.gc.ca/ Pacific Forestry Centre, Canadian Forest Service]&lt;br /&gt;
(5) [http://www.for.gov.bc.ca/hfp/index.htm Forest Practices Branch, BC Forest Service]&lt;br /&gt;
&lt;br /&gt;
=== Objective ===&lt;br /&gt;
To provide a spatially and temporally explicit projection of the current MPB outbreak at a provincial scale. The purpose of providing the projection was to give senior managers and scientists information, at a provincial scale, which could be used in their decision-making processes.&lt;br /&gt;
&lt;br /&gt;
=== Models Built ===&lt;br /&gt;
*Mountain pine beetle projection model - discrete state transition model parameterized with 1999-2005 survey data.&lt;br /&gt;
*Provincial-scale forest management model&lt;br /&gt;
&lt;br /&gt;
=== Comments ===&lt;br /&gt;
This is an interesting example the management and beetle submodels were built by different developers working in parallel. This required a degree of cooperation and collaboration we had not tried before. I think the result is a better model.&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
See http://www.for.gov.bc.ca/HRE/bcmpb/&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
	<entry>
		<id>https://seles.info/index.php?title=Case_Studies&amp;diff=1838</id>
		<title>Case Studies</title>
		<link rel="alternate" type="text/html" href="https://seles.info/index.php?title=Case_Studies&amp;diff=1838"/>
		<updated>2006-09-14T15:18:07Z</updated>

		<summary type="html">&lt;p&gt;128.100.72.37: /* North America */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt; Navigate By Map &amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;googlemap width =&amp;quot;550&amp;quot; height=&amp;quot;300&amp;quot; lat=&amp;quot;30&amp;quot; lon=&amp;quot;-50&amp;quot; zoom=&amp;quot;1&amp;quot; type=&amp;quot;hybrid&amp;quot;&amp;gt;&lt;br /&gt;
64.54844014422517,30.322265625,[[Karelia|Karelia(Russia)]]&lt;br /&gt;
53.21919081798935,-132.12158203125,[[Haida Gwaii|Haida Gwaii]]&lt;br /&gt;
54.62297813269033,-123.3544921875,[[BC MPB | BC Provincial Scale MPB Projection]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/googlemap&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; Navigate By List &amp;lt;/h2&amp;gt;&lt;br /&gt;
=== North America ===&lt;br /&gt;
==== British Columbia ====&lt;br /&gt;
::[[Caribou]]&lt;br /&gt;
&lt;br /&gt;
::[[North Coast LRMP]]&lt;br /&gt;
&lt;br /&gt;
::[[Spotted Owl]]&lt;br /&gt;
&lt;br /&gt;
::[[Haida Gwaii]]&lt;br /&gt;
&lt;br /&gt;
::[[BCMPB Provincial Scale Mountian Pine Beetle Projection]]&lt;br /&gt;
&lt;br /&gt;
=== South America ===&lt;br /&gt;
&lt;br /&gt;
=== Europe ===&lt;br /&gt;
::[[Karelia | Karelia (Russia)]]&lt;/div&gt;</summary>
		<author><name>128.100.72.37</name></author>
	</entry>
</feed>