Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added the capability to specify time interval and removed function to… #1830

Merged
merged 8 commits into from
Jun 15, 2022
110 changes: 95 additions & 15 deletions doc/user_manual/PostProcessors/Validation.tex
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,12 @@ \subsubsection{Validation PostProcessors}
%

\begin{itemize}
\item \xmlNode{Features}, \xmlDesc{comma separated string, required field}, specifies the names of the features.
\item \xmlNode{Targets}, \xmlDesc{comma separated string, required field}, contains a comma separated list of
targets. \nb Each target is paired with a feature listed in xml node \xmlNode{Features}. In this case, the
number of targets should be equal to the number of features.
\item \xmlNode{Features}, \xmlDesc{comma separated string, required field}, specifies the names of the features. Make sure the feature data are normalized by a nominal value.
To enable user defined time interval selection, this postprocessor will only consider the first feature name provided. If user provides more than one,
it will output an error.
\item \xmlNode{Targets}, \xmlDesc{comma separated string, required field}, specifies the names of the targets. Make sure the feature data are normalized by a nominal value. \nb Each target is paired with a feature listed in xml node \xmlNode{Features}.
To enable user defined time interval selection, this postprocessor will only consider the first feature name provided. If user provides more than one,
it will output an error.
\item \xmlNode{pivotParameter}, \xmlDesc{string, required field if HistorySet is used}, specifies the pivotParameter for a <HistorySet>.
The pivot parameter is the shared index of the output variables in the data object.
\item \xmlNode{Metric}, \xmlDesc{string, required field}, specifies the \textbf{Metric} name that is defined via
Expand All @@ -105,7 +107,18 @@ \subsubsection{Validation PostProcessors}
refer to \ref{sec:Metrics} for detailed descriptions about this metric.
\item \xmlNode{pivotParameterFeature}, \xmlDesc{string, required field}, specifies the pivotParameter for a feature <HistorySet>. The feature pivot parameter is the shared index of the output variables in the data object.
\item \xmlNode{pivotParameterTarget}, \xmlDesc{string, required field}, specifies the pivotParameter for a target <HistorySet>. The target pivot parameter is the shared index of the output variables in the data object.
\item \xmlNode{multiOutput}, \xmlDesc{string, required field}, to extract raw values for the HistorySet. The user must use ‘raw values’ for the full set of metrics’ calculations to be dumped.
\item \xmlNode{separateFeatureData}, \xmlDesc{string, optional field}, specifies the custom feature interval to apply DSS postprocessing. The string should contain three parts; start time, `|', and end time all in one. For example, 0.0|0.5.
The start and end time should be in ratios or raw values of the full interval. In this case 0.5 would be either the midpoint time or time 0.5 of the given time units. This node is not required and if not provided, the default is the full time interval.
the following attributes need to be specified:
\begin{itemize}
\item \xmlAttr{type}, \xmlDesc{optional string attribute}, options are `ratio' or `raw\_values'. The default is `ratio'.
\end{itemize}
\item \xmlNode{separateTargetData}, \xmlDesc{string, optional field}, specifies the custom target interval to apply DSS postprocessing. The string should contain three parts; start time, `|', and end time all in one. For example, 0.0|0.5.
The start and end time should be in ratios or raw values of the full interval. In this case 0.5 would be either the midpoint time or time 0.5 of the given time units. This node is not required and if not provided, the default is the full time interval.
the following attributes need to be specified:
\begin{itemize}
\item \xmlAttr{type}, \xmlDesc{optional string attribute}, options are `ratio' or `raw\_values'. The default is `ratio'.
\end{itemize}
\item \xmlNode{scale}, \xmlDesc{string, required field}, specifies the type of time scaling. The following are the options for scaling (specific definitions for each scaling type is provided in \ref{sec:dssdoc}):
\begin{itemize}
\item \textbf{DataSynthesis}, calculating the distortion for two data sets without applying other scaling ratios.
Expand All @@ -115,13 +128,27 @@ \subsubsection{Validation PostProcessors}
\item \textbf{omega\_strain}, calculating the distortion for two data sets with scaling ratios for agent of changes.
\item \textbf{identity}, calculating the distortion for two data sets with scaling ratios of 1.
\end{itemize}
\item \xmlNode{scaleBeta}, \xmlDesc{float or comma separated list of floats, required field}, specifies the parameter of interest scaling ratio between the feature and target.
To provide more than one scaling factor, separate by adding a comma in between each number. Providing more than one scaling factor presumes there are more than one parameter to be post-processed.
If so, \xmlNode{Features}, \xmlNode{Targets}, and \xmlNode{scaleOmega} must have the same number scaling factors.
\item \xmlNode{scaleOmega}, \xmlDesc{float or comma separated list of floats, required field}, specifies the agents of change scaling ratio between the feature and target.
To provide more than one scaling factor, separate by adding a comma in between each number. Providing more than one scaling factor presumes there are more than one parameter to be post-processed.
If so, \xmlNode{Features}, \xmlNode{Targets}, and \xmlNode{scaleBeta} must have the same number scaling factors.
\item \xmlNode{scaleBeta}, \xmlDesc{float, required field}, specifies the parameter of interest scaling ratio between the feature and target.
\item \xmlNode{scaleOmega}, \xmlDesc{float, required field}, specifies the agents of change scaling ratio between the feature and target.
\end{itemize}

The output \textbf{DataObjects} has required and optional components to provide the user the flexibility to obtain desired postprocessed data. The following are information about DSS output \textbf{DataObjects}:
\begin{itemize}
\item \xmlNode{Output}, \xmlDesc{string, required field}, specifies the string of postprocessed results to output. The following is the list of DSS output names:
\begin{itemize}
\item \textbf{pivot\_parameter}, provides the pivot parameter used to postprocess feature and target input data.
\item \textbf{total\_distance\_targetName\_featureName}, provides the total metric distance of the whole time interval. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{feature\_beta\_targetName\_featureName}, provides the normalized feature data provided from \textbf{DataObjects} input. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{target\_beta\_targetName\_featureName}, provides the normalized target data provided from \textbf{DataObjects} input. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{feature\_omega\_targetName\_featureName}, provides the normalized feature first order derivative data. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{target\_omega\_targetName\_featureName}, provides the normalized target first order derivative data. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{feature\_D\_targetName\_featureName}, provides the feature temporal displacement rate (second order term) data. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{target\_D\_targetName\_featureName}, provides the target temporal displacement rate (second order term) data. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{process\_time\_targetName\_featureName}, provides the shared process time data. `targetName' and `featureName' are the string names of the input target and feature.
\item \textbf{standard\_error\_targetName\_featureName}, provides the standard error of the overall transient data. `targetName' and `featureName' are the string names of the input target and feature.
\end{itemize}
\end{itemize}
pivot parameter must be named `pivot\_parameter' and this array is assigned within the post-processor algorithm.

\textbf{Example:}
\begin{lstlisting}[style=XML,morekeywords={subType}]
Expand All @@ -133,18 +160,71 @@ \subsubsection{Validation PostProcessors}
...
<Models>
...
<PostProcessor name="pp1" subType="PPDSS">
<Features>outMC1|x1</Features>
<Targets>outMC2|x2</Targets>
<Metric class="Metrics" type="Metric">dss</Metric>
<pivotParameterFeature>time1</pivotParameterFeature>
<pivotParameterTarget>time2</pivotParameterTarget>
<scale>DataSynthesis</scale>
<scaleBeta>1</scaleBeta>
<scaleOmega>1</scaleOmega>
</PostProcessor>
<PostProcessor name="pp2" subType="PPDSS">
<Features>outMC1|x1,outMC1|y1</Features>
<Targets>outMC2|x2,outMC2|y2</Targets>
<Features>outMC1|x1</Features>
<Targets>outMC2|x2</Targets>
<Metric class="Metrics" type="Metric">dss</Metric>
<pivotParameterFeature>time1</pivotParameterFeature>
<pivotParameterTarget>time2</pivotParameterTarget>
<separateFeatureData type="ratio">0.0|0.5</separateFeatureData>
<separateTargetData type="ratio">0.0|0.5</separateTargetData>
<scale>DataSynthesis</scale>
<scaleBeta>1,1</scaleBeta>
<scaleOmega>1,1</scaleOmega>
<scaleBeta>1</scaleBeta>
<scaleOmega>1</scaleOmega>
</PostProcessor>
<PostProcessor name="pp3" subType="PPDSS">
<Features>outMC1|x1</Features>
<Targets>outMC2|x2</Targets>
<Metric class="Metrics" type="Metric">dss</Metric>
<pivotParameterFeature>time1</pivotParameterFeature>
<pivotParameterTarget>time2</pivotParameterTarget>
<separateFeatureData type="raw_values">0.2475|0.495</separateFeatureData>
<separateTargetData type="raw_values">0.3475|0.695</separateTargetData>
<scale>DataSynthesis</scale>
<scaleBeta>1</scaleBeta>
<scaleOmega>1</scaleOmega>
</PostProcessor>
...
<Models>
...
<DataObjects>
...
<HistorySet name="pp1_out">
<Output>
dss_x2_x1,total_distance_x2_x1,process_time_x2_x1,standard_deviation_x2_x1
yoshiurr-INL marked this conversation as resolved.
Show resolved Hide resolved
</Output>
<options>
<pivotParameter>pivot_parameter</pivotParameter>
</options>
</HistorySet>
<HistorySet name="pp2_out">
<Output>
dss_x2_x1,total_distance_x2_x1,process_time_x2_x1,standard_deviation_x2_x1
</Output>
<options>
<pivotParameter>pivot_parameter</pivotParameter>
</options>
</HistorySet>
<HistorySet name="pp3_out">
<Output>
dss_y2_y1,total_distance_y2_y1,process_time_y2_y1,standard_deviation_y2_y1
</Output>
<options>
<pivotParameter>pivot_parameter</pivotParameter>
</options>
</HistorySet>
...
</DataObjects>
...
<Simulation>
\end{lstlisting}
Loading