Language Reference 1
+
DESCRIPTION: The addition operator, "+"
USAGE:
x=Expr+Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value of the expression is the sum of two expressions
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=1+2 =3
SAMPLE MODELS: <links to sample models where this function is used>
-
DESCRIPTION: The subtraction operator
USAGE:
x=Expr-Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value of the first expression minus the value of the second expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=15-2 =13
SAMPLE MODELS: <links to sample models where this function is used>
*
DESCRIPTION: The multiplication operator
USAGE:
x=Expr*Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value is the product of two expressions
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=5*4 =20
SAMPLE MODELS: <links to sample models where this function is used>
/
DESCRIPTION: The division operator
USAGE:
x=Expr/Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value of the first expression divided by value of the second expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=60/6 =10
SAMPLE MODELS: <links to sample models where this function is used>
^
DESCRIPTION: The power operator
USAGE:
x=Expr^Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: The first expression to the power of the value of the second expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=7^3 =343
SAMPLE MODELS: <links to sample models where this function is used>
%
DESCRIPTION: The percentage operator
USAGE:
x=Expr % Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value of the first expression modulo the value of the second expression(assumes that the values of the expression are integers
SEE ALSO: <a link to the composite functions section of seles modellers guide>
Example 1:
x=19 % 12
=7
Example 2:
x=10 % 20
=10
Example 3:
x=10 % 10
=0
SAMPLE MODELS: <links to sample models where this function is used> Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
==
DESCRIPTION: The EQ operator or the alternate form of EQ comparison (Note: two equal signs distinguish this from an assignment). This is a Boolean function operator.
USAGE:
x=(Expr)==(Expr)=(Expr)EQ(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value on the left of the == or the EQ sign must equal to the value on the right of the == or the EQ sign.
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=(|-9|)==(9) (TRUE) =1
Example 2:
x=(2*8)==(4*4) (TRUE) =1
Example 3:
x=(2*0)==(-1) (FALSE) =0
Example 4:
x=(|-9|)EQ(9) (TRUE) =1
Example 5:
x=(2*6)EQ(4*4) (FALSE) =0
SAMPLE MODELS: <links to sample models where this function is used>
!=
DESCRIPTION: The not equal operator or the alternate form of NOT EQUAL comparison. This is a Boolean function operator.
USAGE:
x=(Expr)!=(Expr)=(Expr)NEQ(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value on the left of the != or NEQ sign does not equal to the value on the right of the != or NEQ sign.
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=(|-9|)!=(-9)(TRUE) =1
Example 2:
x=(2*8)!=(4*3) (TRUE) =1
Example 3:
x=(2*8)!=(2*8) (FALSE) =0
Example 4:
x=(1+7)NEQ(8)(FALSE) =0
SAMPLE MODELS: <links to sample models where this function is used>
<
DESCRIPTION: A Boolean function operator that returns TRUE(1) if the value of the first expression is less than the value of the second expression; otherwise FALSE(0).
USAGE:
x=(Expr)<(Expr)=(Expr)LESS THAN(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value on the left of the < or the LESS THAN is less than the value on the right of the < or LESS THAN sign
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=(17)<(21) (TRUE) =1
Example 2:
x=(-17)LESS THAN(-17) (FALSE) =0
SAMPLE MODELS:
<links to sample models where this function is used>
<=
DESCRIPTION: A Boolean function operator that returns TRUE(1) if the value of the first expression is less than or equal to the value of the second expression; otherwise FALSE(0).
USAGE:
x=(Expr)<=(Expr)=(Expr)LESS OR EQUAL(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value on the left of the <= or LESS OR EQUAL sign is less or equal to the value on the right of the <= or LESS OR EQUAL sign
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=17<=21 (TRUE) =1
Example 2:
x=(-17)LESS OR EQUAL(|-17|) (TRUE) =1
Example 3:
x=-17<=-18 (FALSE) =0
SAMPLE MODELS: <links to sample models where this function is used>
>
DESCRIPTION: A Boolean function operator that returns TRUE(1) if the value of the first expression is greater than the value of the second expression; otherwise FALSE(0).
USAGE:
x=(Expr)>(Expr)=(Expr)GREATER THAN(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value on the left of the > or GREATER THAN sign is greater than the value on the right of the > or GREATER THAN sign
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=5>2 (TRUE) =1
Example 2:
x=(5)GREATER THAN(5) (FALSE) =0
SAMPLE MODELS: <links to sample models where this function is used>
>=
DESCRIPTION: A Boolean function operator that returns TRUE(1) if the value of the first expression is greater than or equal to the value of the second expression; otherwise FALSE(0).
USAGE:
x=(Expr)>=(Expr)=(Expr)GREATER OR EQUAL(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Value on the left of the >= or GREATER OR EQUAL sign is greater or equal to the value on the right of the >= or GREATER OR EQUAL sign
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=5>=2 (TRUE) =1
Example 2:
x=(5)GREATER OR EQUAL(5) (TRUE) =1
Example 3:
x=5>=6 (FALSE) =0
SAMPLE MODELS: <links to sample models where this function is used>
!
DESCRIPTION: A Boolean function operator that negates the expression Boolean value.
USAGE:
x=!Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Negates the expression Boolean value
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
y = TRUE x=IF !y THEN 3 ELSE 4
=4
SAMPLE MODELS: <links to sample models where this function is used>
ABS(Expr)
DESCRIPTION: The absolute value operator
USAGE:
x=ABS(Expr)=|Expr|=ABSOLUTE(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Absolute value of the expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=ABS(-12)==12 (TRUE) =1
Example 2:
x=|-12|==12 (TRUE) =1
Example 3:
x=ABSOLUTE(-12)==12 (TRUE) =1
Example 4:
x=ABS(12)==57 (FALSE) =0
SAMPLE MODELS: <links to sample models where this function is used>
AND
DESCRIPTION: A boolean operator that returns TRUE if two expressions are both TRUE, and FALSE otherwise.
USAGE:
x= Expr AND Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: TRUE (1) if all sub-expressions evaluate to TRUE and FALSE (0) otherwise
NOTES:
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
x=(3>6) AND (14>9) =FALSE(0)
Example 2:
x=(6>3) AND (14>9) =TRUE(1)
Example 3:
x=10 AND (9<14) =10
Example 4:
x=10 AND -5 =-50
SAMPLE MODELS: <links to sample models where this function is used> Model Builder's Guide Chapter 9#Composite Functions
==ARCCOS==(Expr) inverse cos of the value of the expression Model Builder's Guide Chapter 9#Continuous Functions (Trigonometric Functions)
ARCCOS
DESCRIPTION: The arccos function operator
USAGE:
x=ARCCOS(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Inverse cos of the value of the expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Trigonometric Functions)
Example 1:
x=ARCCOS(0.5) =59.9999999999998
SAMPLE MODELS: <links to sample models where this function is used>
ARCSIN
DESCRIPTION: The arcsin function operator
USAGE:
x=ARCSIN(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Inverse sine of the value of the expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Trigonometric Functions)
Example 1:
x=ARCSIN(1) =89.9999999999998
SAMPLE MODELS: <links to sample models where this function is used>
ARCTAN(Expr)
DESCRIPTION: The arctan function operator
USAGE:
x=ARCTAN(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Inverse tan of the value of the expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Trigonometric Functions)
Example 1:
x=ARCTAN(1) =44.9999999999999
SAMPLE MODELS: <links to sample models where this function is used>
ARCTAN(Expr,Expr)
DESCRIPTION: The arcsin quadrant function operator
USAGE:
x=ARCTAN(Expr,Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Inverse tan where first expression is x offset and second is y offset. Provideing two expressions gives more infomation about the quadrant
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Trigonometric Functions)
Example 1:
x=ARCTAN(5,9)
=60.9453959009227
SAMPLE MODELS: <links to sample models where this function is used>
BITWISE OR
(Expr, Expr) Bitwise OR of two valuesModel Builder's Guide Chapter 9#Bit-Vector Functions
BITWISE AND
(Expr, Expr) Bitwise AND of two valuesModel Builder's Guide Chapter 9#Bit-Vector Functions
BITWISE XOR
(Expr, Expr) Bitwise exclusive-OR of two valuesModel Builder's Guide Chapter 9#Bit-Vector Functions
BITWISE NOT
Expr Bitwise NOT of a valueModel Builder's Guide Chapter 9#Bit-Vector Functions
CEILING(Expr)
DESCRIPTION: The ceiling operator
USAGE:
x=CEILING(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Smallest integer larger than the expression value
SEE ALSO: Model Builder's Guide Chapter 9#Expressions:
Example 1:
x=CEILING(0.01) =1
SAMPLE MODELS: <links to sample models where this function is used>
CLAMP
(Expr, MinExpr, MaxExpr)
DESCRIPTION: The clamp operator
USAGE:
x=(Expr, MinExpr, MaxExpr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Clamp the value X of the expression to the range [Min, Max]: if X<Min then return Min; if X<Max return Max. Otherwise return X.
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
SAMPLE MODELS:
<links to sample models where this function is used>
CLASSIFY
(X) if the value of the variable X is equal to one of CLASS Number: Expr the classes listed, then return the result of the. : associated expression. Otherwise return 0. Model Builder's Guide Chapter 9#Classified and Discrete Functions ENDFN Model Builder's Guide Chapter 9#Classified and Discrete Functions
CLASSIFY
(X) return the result of the kth expression in the list, Expr where k = X – minimum value of the variables
: (this may be non-0 only for layers) :
Model Builder's Guide Chapter 9#Classified and Discrete Functions ENDFN Model Builder's Guide Chapter 9#Classified and Discrete Functions
CLASSIFY
(X): ( Number+) return the kth number in the list, where k = X – minimum value of the variable (this may be non-0 only for layers)Model Builder's Guide Chapter 9#Classified and Discrete Functions
CLASSIFY
(X): Filename uses the table in the named file, which is assumed to consist of class:value pairs. Rarely used. Model Builder's Guide Chapter 9#Classified and Discrete Functions
CLASSIFY
(X): Filename Key uses the table in the named file, which is assumed to consist of class:value pairs. The key is used to specify a sub-table in a multi-table file. Rarely used.
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. Model Builder's Guide Chapter 9#Classified and Discrete Functions
CLASSIFIED_DIST
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.
CLASSIFIED_DIST
( Number+) in this form, the classes are assumed to start at zero. Only constant probabilities can be given.
CLASSIFIED_DIST
in this form, the classes are assumed to start at Expr zero : ENDFN
CLASSIFIED_DIST[M]
In this form, the classes in a one-dimensional array M, and so start at zero.
COS
DESCRIPTION: The cos function operator
USAGE:
x=COS(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Inverse cos of the value of the expression
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Trigonometric Functions)
Example 1:
x=COS(0.5) =0.99996192306417
SAMPLE MODELS: <links to sample models where this function is used>
CRITICAL SECTION
(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 synchronizing access to shared variables (i.e. shared with another application).Model Builder's Guide Chapter 9#Control Expressions
DEBUG
Update the simulation probe, if it is loaded and The event is selected. Used to debug/verify event behaviour.Model Builder's Guide Chapter 9#Control Expressions
DECISION
Expr approximation of line between end cells Cost surface and least-cost path regions are advanced features that are best understood with an example model. Model Builder's Guide Chapter 9#Region Functions
DECISION
Expr known location indices. If there is a decision expression, then only those cells for which this expression returns TRUE will be included. Model Builder's Guide Chapter 9#Region Functions
==DECISION== Expr location indices stored in one-dimensional X. Model Builder's Guide Chapter 9#Region Functions
==DECISION== Expr location index. If there is a decision expression, then only those cells for which this expression returns TRUE will be included. Model Builder's Guide Chapter 9#Region Functions
DECISION
Expr defines a region centred on the current cell. If there is a decision expression, then only those cells for which this expression returns TRUE will be included.
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. Model Builder's Guide Chapter 9#Region Functions DESCRIPTION: Defines a region centred on the current cell. If there is a decision expression, then only those cells for which this expression returns TRUE will be included.
USAGE:
x= Expr AND Expr
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: TRUE (1) if all sub-expressions evaluate to TRUE and FALSE (0) otherwise
NOTES:
SEE ALSO: Model Builder's Guide Chapter 9#Expressions:
Example 1:
x=(3>6) AND (14>9) =FALSE(0)
Example 2:
x=(6>3) AND (14>9) =TRUE(1)
Example 3:
x=10 AND (9<14) =10
Example 4:
x=10 AND -5 =-50
SAMPLE MODELS: <links to sample models where this function is used>
DIRECTION
(Expr, Expr) angle in degrees between two location indices Model Builder's Guide Chapter 9#Continuous Functions (Miscellaneous)
==DISPLAY== Display on the screen the labelled Label: Expr values computed with the expressions listed. …. If no label is given, the expression must ENDFN be a variable, and this is used for the label. Model Builder's Guide Chapter 9#Output Expressions DESCRIPTION: The clamp operator
DESCRIPTION: The clamp operator
USAGE:
x=(Expr, MinExpr, MaxExpr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Clamp the value X of the expression to the range [Min, Max]: if X<Min then return Min; if X<Max return Max. Otherwise return X.
SEE ALSO: Model Builder's Guide Chapter 9#Continuous Functions (Arithmetic Functions)
Example 1:
SAMPLE MODELS:
<links to sample models where this function is used>
==DISPLAY== Same as above, but only display if the DECISION Expr decision expression evaluates to TRUE Label: Expr The keyword DECISION can be replaced by …. a “?” ENDFN Model Builder's Guide Chapter 9#Output Expressions 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 …. Expression must be a variable and this is ENDFN used as label. Model Builder's Guide Chapter 9#Output Expressions OUTPUT RECORD(OutputVar) Same as above, but only output if the DECISION Expr decision expression evaluates to TRUE Label: Expr …. ENDFN
DISTANCE
(Expr, Expr) distance between two location indices (normally obtained using the Location variable). Thus, DISTANCE(loc1, loc2) is sqrt(sqr(loc1.x – loc2.x) + sqr(loc1.y – loc2.y)) Model Builder's Guide Chapter 9#Continuous Functions (Miscellaneous)
ELSE
DESCRIPTION: A control expression that evaluates to TRUE and the set of sub-expressions after the ELSE otherwise.
USAGE:
REQUIRED ARGUMENTS:
Expr is any expression that evaluates to single numeric value
VALUE: Expression evaluates to TRUE and the set of sub-expressions after the ELSE otherwise. Note that "ELSE IF expr" forms can be strung together.
SEE ALSO: Model Builder's Guide Chapter 9#Control Expressions
Example 1:
SAMPLE MODELS:
<links to sample models where this function is used>
EQUAL TRUE
(1) if the sub-expressions all evaluate to the same value and FALSE (0) otherwise Model Builder's Guide Chapter 9#Composite Functions
EXP(Expr)
DESCRIPTION: (Expr) base of the natural logarithm (e) to the power of the expression
USAGE:
x=EXP(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Base of the natural logarithm (e) to the power of the expression
SEE ALSO: <a link to the composite functions section of seles modellers guide>
Example 1:
x=EXP(3)
=20.08553692
SAMPLE MODELS: <links to sample models where this function is used> Model Builder's Guide Chapter 9#Expressions:
FLOOR(Expr)
DESCRIPTION: The flooring operator
USAGE:
x=FLOOR(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Largest integer smaller than the expression value
SEE ALSO: Model Builder's Guide Chapter 9#Expressions:
Example 1:
x=FLOOR(0.99) =0
SAMPLE MODELS: <links to sample models where this function is used>
GEOMETRIC MEAN
geometric mean of the sub-expressions (nth root of the product for n expressions)
Model Builder's Guide Chapter 9#Composite Functions
GREATER OR EQUAL
TRUE (1) if the sub-expression evaluations are all ordered according to the relation >=, and FALSE (0) otherwise Model Builder's Guide Chapter 9#Composite Functions
GREATER THAN
TRUE (1) if the sub-expression evaluations are all ordered according to the relation >, and FALSE (0) otherwise
Model Builder's Guide Chapter 9#Composite Functions
The logarithm is the mathematical operation that is the inverse of exponentiation (raising a constant, the base, to a power). The logarithm of a number x in base b is the number n such that x = bn. It is usually written as
LOG(Expr)
DESCRIPTION: The logarithm operator
USAGE:
x=LOG(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE:
Natural logarithm of the value of the expression. This is a mathematical operation that is the inverse of exponentiation(raising a constant, the base, to a power) Ex:
- Failed to parse (syntax error): {\displaystyle \4^3=81\,\! }
In this program, it is assumed that the base is 10, ie:
Note that the natural Logarithm is the inverse of the natural exponential function, ie: (x), which is the same as In(x) for all positive x and
- Failed to parse (unknown function "\In"): {\displaystyle \In(e^x)=x \,\! }
for all real x. The only difference between Log and natural Log is their bases that Log uses 10 and natural Log uses e. For convenience,
is usually written in a different notation: In(x). SEE ALSO: Model Builder's Guide Chapter 9#Expressions:
Example 1:
x=LOG(0.773) =-0.111820506
SAMPLE MODELS: <links to sample models where this function is used>
ROUND(Expr)
DESCRIPTION: The rounding operator
USAGE:
x=ROUND(Expr)
REQUIRED ARGUMENTS: Expr is any expression that evaluates to single numeric value
VALUE: Expression value rounded to the nearest integer
SEE ALSO: Model Builder's Guide Chapter 9#Expressions:
Example 1:
x=ROUND(0.773) =1
SAMPLE MODELS: <links to sample models where this function is used>