Data Calculator: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
 
(63 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<noinclude>
[[File:GMS Data Calculator.png|thumb|450 px|The ''Data Calculator'' dialog]]
{{SMS_at_a_glance_data_calculator|Heading===At a glance==}}
The ''Data Calculator'' can be used to perform mathematical operations with datasets to create new datasets. The ''Data Calculator'' is accessed in GMS by selecting the '''Dataset Calculator''' in the ''Edit'' menu. It is accessed in WMS by selecting the '''Data Calculator''' command from the ''Edit'' menu. The components of the ''Data Calculator'' are as follows:
</noinclude>
 
The Data Calculator can be used to perform mathematical operations with data sets to create new data sets. The Data Calculator is accessed by selecting the '''''Data Calculator''''' command from the ''Data'' menu. The components of the Data Calculator are as follows:


=== Expression Field ===
=== Expression Field ===
The most important part of the Data Calculator is the Expression field. This is where the mathematical expression is entered. The expression should be formulated using the same rules that are used in formulating equations in a spreadsheet. Parentheses should be used to clearly indicate the preferred order of evaluation. There is no limit on the length of the expression. The operators in the expression should be limited to the operators shown in the middle of the Data Calculator. The operands in the expression should consist of user-defined constants (e.g., 3.14159), or data sets.
The most important part of the ''Data Calculator'' is the ''Expression'' field. This is where the mathematical expression is entered. The expression should be formulated using the same rules that are used in formulating equations in a spreadsheet. Parentheses should be used to clearly indicate the preferred order of evaluation. There is no limit on the length of the expression. The operators in the expression should be limited to the operators shown in the bottom-right of the ''Data Calculator''. The operands in the expression should consist of user-defined constants (e.g., 3.14159), or datasets.


=== List of Data Sets ===
=== List of Datasets ===
All of the data sets associated with the active object (TIN, Grid, Mesh, or Scatter Point Set) are listed at the top of the Data Calculator. If a transient data set is highlighted, the time steps are listed on the right side of the Data Calculator. When a data set is used in an expression, the name of the data set should NOT be used. Rather, the letter associated with the data set should be used. For example, if a data set is listed as "b. head1", the data set is referenced in the expression simply as "b"
All of the datasets associated with the active object (TIN, Grid, Mesh, or Scatter Point Set) are listed at the top of the Data Calculator. If a transient dataset is highlighted, the time steps are listed on the right side of the Data Calculator. When a dataset is used in an expression, the name of the dataset should NOT be used. Rather, the letter associated with the dataset should be used. For example, if a dataset is listed as "b. head1", the dataset is referenced in the expression simply as "b".


When a transient data set is used in an expression, either a single time step or the entire sequence of time steps may be used. For example, the expression "abs(d:100)" creates a single (steady state) data set representing the absolute value of the data set at time = 100.0. However, the expression "abs(d:all)" creates a transient data set representing the absolute value of each of the time steps in the original data set.
When a transient dataset is used in an expression, either a single time step or the entire sequence of time steps may be used. For example, the expression "abs(d:100)" creates a single (steady state) dataset representing the absolute value of the dataset at time = 100.0. However, the expression "abs(d:all)" creates a transient dataset representing the absolute value of each of the time steps in the original dataset.


=== Result Name ===
=== Result Name ===
When an expression is evaluated, a new data set is created and the name of the new data set is designated in the Result field.
When an expression is evaluated, a new dataset is created and the name of the new dataset is designated in the ''Result'' field.


=== Operators ===
=== Operators ===
The allowable operators are listed in the middle of the dialog. Selecting one of the operator buttons adds the selected operator to the end of the expression. However, the operators can also be typed directly in the expression field. The function of each of the operators is as follows:
The allowable operators are listed in the bottom-right of the dialog. Selecting one of the operator buttons adds the selected operator to the end of the expression. However, the operators can also be typed directly in the expression field. The function of each of the operators is as follows:


{| border="1" cellpadding="2"
{| class="wikitable"
!width="200"|Operator
!width="100"|Operator
!width="500"|Function
!width="200"|Function
|-
|-
|<center>" + "</center>||<center>Add</center>
|<center> + </center>
|Add
|-
|-
|<center>" - "</center>||<center>Subtract</center>
|<center> - </center>
|Subtract
|-
|-
|<center>" * "</center>||<center>Multiply</center>
|<center> * </center>
|Multiply
|-
|-
|<center>" / "</center>||<center>Divide</center>
|<center> / </center>
|Divide
|-
|-
|<center>" ( "</center>||<center>Left Parenthesis</center>
|<center> ( </center>
|Left parenthesis
|-
|-
|<center>" ) "</center>||<center>Right /Parenthesis</center>
|<center> ) </center>
|Right parenthesis
|-
|-
|<center>" log(x) "</center>||<center>The base 10 logarithm of a data set</center>
|<center> log(x) </center>
|The base 10 logarithm of a dataset
|-
|-
|<center>" ln(x) "</center>||<center>The natural logarithm of a data set</center>
|<center> ln(x) </center>
|The natural logarithm of a dataset
|-
|-
|<center>" x^a "</center>||<center>(x) raised to the (a) power. (x) and (a) can be any mixture of constants and data sets</center>
|<center> x^a </center>
|(x) raised to the (a) power. (x) and  
(a) can be any mixture of constants and datasets
|-
|-
|<center>" abs(x) "</center>||<center>The absolute value of a data set</center>
|<center> abs(x) </center>
|The absolute value of a dataset
|-
|-
|<center>" sqrt(x) "</center>||<center>The square root of a data set</center>
|<center> sqrt(x) </center>
|The square root of a dataset
|-
|-
|<center>" ave(x,y) "</center>||<center>The average of two data sets</center>
|<center> avg(x,y) </center>
|The average of two datasets
|-
|-
|<center>" min(x,y) "</center>||<center>The minimum of two data sets</center>
|<center> min(x,y) </center>
|The minimum of two datasets
|-
|-
|<center>" max(x,y) "</center>||<center>The maximum of two data sets</center>
|<center> max(x,y) </center>
|The maximum of two datasets
|-
|-
|<center>" trunc(x,a,b) "</center>||<center>Truncates a data set (x) so that all values are >= a and <= b</center>
|<center> trunc(x,a,b) </center>
|-
|Truncates a dataset (x) so that all  
|<center>" 1/(x) "</center>||<center>The inverse of (x) - Only available in SMS</center>
values are >= a and <= b
<!--|-
|<center> 1/(x) </center>
|The inverse of (x) - Only available in SMS-->
|}
|}


====Operating with transient datasets====
====Operating With Transient Datasets====
Each argument in the operators listed in the table above may be:
Each argument in the operators listed in the table above may be:
* A steady state (1 time step) data set
* A steady state (1 time step) dataset
* A specified time step of a transient data set (i.e., x:#). In this case the # represents the index of the time step as specified in the timestep window.  
* A specified time step of a transient dataset (i.e., x:#). In this case the # represents the index of the time step as specified in the ''Time steps'' window.  
* A transient time step (i.e., x:all). These operations are only valid if all arguments have matching time step values. In this case, the result will be a new transient data set with identical time values as the arguments.
* A transient time step (i.e., x:all). These operations are only valid if all arguments/operands have matching time step values. In this case, the result will be a new transient dataset with identical time values as the arguments.


The data calculator supports an alternate format for computing attributes of a transient dataset. This alternate format applies to three of the operators. These operators compute a single timestep (steady state) dataset representing the spatially varied attribute operating on all the timesteps.
The data calculator supports an alternate format for computing attributes of a transient dataset. This alternate format applies to three of the operators. These operators compute a steady state (single time step) dataset that represents the spatially varied attribute operating on all the time steps.  


{| border="1" cellpadding="2"
{| class="wikitable"
!width="200"|Operator
!width="200"|Operator
!width="500"|Function
!width="500"|Function
|-
|-
|<center>" ave(x:all) "</center>||<center>The average at each location of all time steps in the data set</center>
|<center> ave(x:all) </center>||The average, at each location, of all time steps in the dataset "x"
|-
|-
|<center>" min(x:all) "</center>||<center>The minimum at each location of all time steps in the data set</center>
|<center> min(x:all) </center>||The minimum, at each location, of all time steps in the dataset "x"
|-
|-
|<center>" max(x:all) "</center>||<center>The maximum at each location of all time steps in the data set</center>
|<center> max(x:all) </center>||The maximum, at each location, of all time steps in the dataset "x"
|}
|}


=== Compute Button ===
=== Compute Button ===
Once an expression is formulated and a name for the resulting data set has been specified, the expression can be evaluated by selecting the Compute button. At this point, the data set is created and the name of the new data set should appear in the list of data sets.
Once an expression is formulated and a name for the resulting dataset has been specified, the expression can be evaluated by selecting the '''Compute''' button. At this point, the dataset is created and the name of the new dataset should appear in the list of datasets.


==Restrictions/Rules==
{{Dataset Calculator Table}}
{{Dataset Calculator Table Examples}}
<noinclude>
<noinclude>
==Related Links==
==Related Links==


* [[GMS:Data Sets|Data Sets (GMS)]]
* [[GMS:Datasets|Datasets (GMS)]]
* [[SMS:Data Sets|Data Sets (SMS)]]
* [[WMS:Datasets|Datasets (WMS)]]
* [[WMS:Data Sets|Data Sets (WMS)]]
* [[SMS:Data_Calculator| SMS Data Calculator]]
* [[SMS:Data Set Toolbox|Data Set Toolbox (SMS)]]
<!--* [[Dataset_Calculator_Tool |Dataset Calculator Tool]]-->
</noinclude>
</noinclude>
{{Navbox GMS}}
{{WMSMain}}
[[Category:Datasets|D]]
[[Category:General Information|D]]
[[Category:GMS Dialogs]]
[[Category:WMS Dialogs]]

Latest revision as of 23:15, 5 August 2024

The Data Calculator dialog

The Data Calculator can be used to perform mathematical operations with datasets to create new datasets. The Data Calculator is accessed in GMS by selecting the Dataset Calculator in the Edit menu. It is accessed in WMS by selecting the Data Calculator command from the Edit menu. The components of the Data Calculator are as follows:

Expression Field

The most important part of the Data Calculator is the Expression field. This is where the mathematical expression is entered. The expression should be formulated using the same rules that are used in formulating equations in a spreadsheet. Parentheses should be used to clearly indicate the preferred order of evaluation. There is no limit on the length of the expression. The operators in the expression should be limited to the operators shown in the bottom-right of the Data Calculator. The operands in the expression should consist of user-defined constants (e.g., 3.14159), or datasets.

List of Datasets

All of the datasets associated with the active object (TIN, Grid, Mesh, or Scatter Point Set) are listed at the top of the Data Calculator. If a transient dataset is highlighted, the time steps are listed on the right side of the Data Calculator. When a dataset is used in an expression, the name of the dataset should NOT be used. Rather, the letter associated with the dataset should be used. For example, if a dataset is listed as "b. head1", the dataset is referenced in the expression simply as "b".

When a transient dataset is used in an expression, either a single time step or the entire sequence of time steps may be used. For example, the expression "abs(d:100)" creates a single (steady state) dataset representing the absolute value of the dataset at time = 100.0. However, the expression "abs(d:all)" creates a transient dataset representing the absolute value of each of the time steps in the original dataset.

Result Name

When an expression is evaluated, a new dataset is created and the name of the new dataset is designated in the Result field.

Operators

The allowable operators are listed in the bottom-right of the dialog. Selecting one of the operator buttons adds the selected operator to the end of the expression. However, the operators can also be typed directly in the expression field. The function of each of the operators is as follows:

Operator Function
+
Add
-
Subtract
*
Multiply
/
Divide
(
Left parenthesis
)
Right parenthesis
log(x)
The base 10 logarithm of a dataset
ln(x)
The natural logarithm of a dataset
x^a
(x) raised to the (a) power. (x) and

(a) can be any mixture of constants and datasets

abs(x)
The absolute value of a dataset
sqrt(x)
The square root of a dataset
avg(x,y)
The average of two datasets
min(x,y)
The minimum of two datasets
max(x,y)
The maximum of two datasets
trunc(x,a,b)
Truncates a dataset (x) so that all

values are >= a and <= b

Operating With Transient Datasets

Each argument in the operators listed in the table above may be:

  • A steady state (1 time step) dataset
  • A specified time step of a transient dataset (i.e., x:#). In this case the # represents the index of the time step as specified in the Time steps window.
  • A transient time step (i.e., x:all). These operations are only valid if all arguments/operands have matching time step values. In this case, the result will be a new transient dataset with identical time values as the arguments.

The data calculator supports an alternate format for computing attributes of a transient dataset. This alternate format applies to three of the operators. These operators compute a steady state (single time step) dataset that represents the spatially varied attribute operating on all the time steps.

Operator Function
ave(x:all)
The average, at each location, of all time steps in the dataset "x"
min(x:all)
The minimum, at each location, of all time steps in the dataset "x"
max(x:all)
The maximum, at each location, of all time steps in the dataset "x"

Compute Button

Once an expression is formulated and a name for the resulting dataset has been specified, the expression can be evaluated by selecting the Compute button. At this point, the dataset is created and the name of the new dataset should appear in the list of datasets.

Restrictions/Rules

The values will be the result of the expression being performed on each set of values of the datasets at each time step. Datasets with point and cell values cannot be mixed in the dataset calculator.

  • If no dataset being used in a calculation has activity, the resulting dataset will also not have activity. (See example #1 in the table below)
  • In calculations with multiple datasets with one timestep selected, the resulting time step will be 0.0. (See example #4)
  • If there is a combination of different selections for time steps and there is at least one dataset with “all time steps” selected, the resulting dataset’s time steps will be that dataset’s time steps. (see example #5)
    • In any such calculations, the calculator will use the single corresponding values array from any datasets with a single time step selected for every corresponding set of values in any datasets with “all time steps” selected. time step in the multiple time step selections.
  • All datasets where “all time steps” has been selected must have the same time steps. (See example #9)
  • If there is a combination of activity on cells and points between the datasets being used in a calculation, before performing calculations for activity, the calculator will find the point activity from the given cell activity and use that in the activity calculations. (See example #26)

An SMS sample file with the examples in the table can be downloaded here.

Test # Dataset 1 value location Dataset 1 activity Dataset 1 time steps Dataset 2 value location Dataset 2 activity Dataset 2 time steps Result location Result activity Result time steps
1 cells no activity 1 time step cells no activity 1 time step cells no activity 1 time step
2 cells no activity 1 time step cells no activity all time steps cells no activity all time steps
3 cells no activity all time steps cells no activity all time steps cells no activity all time steps
4 cells cells activity 1 time step cells cells activity 1 time step cells cells activity 1 time step
5 cells cells activity 1 time step cells cells activity all time steps cells cells activity all time steps
6 cells cells activity all time steps cells no activity 1 time step cells cells activity all time steps
7 cells cells activity all time steps cells no activity all time steps cells cells activity all time steps
8 cells cells activity 1 time step cells no activity 1 time step cells cells activity 1 time step
9 cells cells activity all time steps cells cells activity all time steps cells cells activity all time steps
10 cells cells activity 1 time step cells no activity all time steps cells cells activity all time steps
11 points points activity 1 time step points points activity 1 time step points points activity 1 time step
12 points points activity 1 time step points points activity all time steps points points activity all time steps
13 points cells activity all time steps points no activity all time steps points cells activity all time steps
14 points cells activity all time steps points points activity 1 time step points points activity all time steps
15 points cells activity all time steps points points activity all time steps points points activity all time steps
16 points points activity all time steps points points activity all time steps points points activity all time steps
17 points no activity 1 time step points no activity 1 time step points no activity 1 time step
18 points cells activity 1 time step points no activity 1 time step points cells activity 1 time step
19 points cells activity 1 time step points cells activity 1 time step points cells activity 1 time step
20 points cells activity 1 time step points cells activity all time steps points cells activity all time steps
21 points no activity 1 time step points no activity 1 time step points no activity 1 time step
22 points no activity 1 time step points points activity all time steps points points activity all time steps
23 points cells activity 1 time step points no activity all time steps points cells activity all time steps
24 points no activity 1 time step points points activity 1 time step points points activity 1 time step
25 points no activity all time steps points no activity all time steps points no activity all time steps
26 points cells activity 1 time step points points activity 1 time step points points activity 1 time step
27 points cells activity 1 time step points points activity all time steps points points activity all time steps
28 points no activity all time steps points points activity 1 time step points points activity all time steps
29 points no activity all time steps points points activity all time steps points points activity all time steps
30 points cells activity all time steps points no activity 1 time step points cells activity all time steps
31 points cells activity all time steps points cells activity all time steps points cells activity all time steps

Examples

The examples below provide descriptions and context for dataset calculator results.

Test 1 of Dataset Calculator

This example is regarding two datasets. The inputs for dataset value locations include cells, there is one time step per each dataset, and no activity in either dataset. The result location for the datasets include cells, there is one result time step per each dataset, and no result activity in either dataset.

Test 1 of the Dataset Calculator

Test 4 of Dataset Calculator

This example is regarding two datasets. The inputs for dataset value locations include cells, there is one time step per each dataset, and cells activity in both datasets. The result location for the datasets include cells, there is one result time step per each dataset, and cells activity in both datasets.

Test 4 of the Dataset Calculator

Test 11 of Dataset Calculator

This example is regarding two datasets. The inputs for dataset value locations include points, there is one time step per each dataset, and points activity in both datasets. The result location for the datasets include points, there is one result time step per each dataset, and points activity in both datasets.

Test 11 of the Dataset Calculator

Test 17 of Dataset Calculator

This example is regarding two datasets. The inputs for dataset value locations include points, there is one time step per each dataset, and no activity in either dataset. The result location for the datasets include points, there is one result time step per each dataset, and no activity in either dataset.

Test 17 of the Dataset Calculator

Test 29 of Dataset Calculator

This example is regarding two datasets. The inputs for dataset 1 value location includes points, all time steps are used in dataset 1, and no activity in dataset 1. The inputs for dataset 2 value location includes points, all time steps are used in dataset 2, and points activity in dataset 2. The result location for both datasets include points, all time steps are used per each dataset, and points activity in both datasets.

Test 29 of the Dataset Calculator


Related Links