Data Calculator: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
 
(52 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 datasets to create new datasets. 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 datasets.
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 ===
=== 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"
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.
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 dataset is created and the name of the new dataset 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:


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


Line 59: Line 74:
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) dataset
* 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 step 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 dataset 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 time step (steady state) dataset representing the spatially varied attribute operating on all the time steps.
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.  


{| class="wikitable"
{| class="wikitable"
Line 68: Line 83:
!width="500"|Function
!width="500"|Function
|-
|-
|<center>" ave(x:all) "</center>||<center>The average at each location of all time steps in the dataset</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 dataset</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 dataset</center>
|<center> max(x:all) </center>||The maximum, at each location, of all time steps in the dataset "x"
|}
|}


Line 78: Line 93:
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.
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|Datasets (GMS)]]
* [[GMS:Datasets|Datasets (GMS)]]
* [[SMS:Datasets|Datasets (SMS)]]
* [[WMS:Datasets|Datasets (WMS)]]
* [[WMS:Datasets|Datasets (WMS)]]
* [[SMS:Dataset Toolbox|Dataset Toolbox (SMS)]]
* [[SMS:Data_Calculator| SMS Data Calculator]]
<!--* [[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