<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.baw.de/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rosenhagen</id>
	<title>BAWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.baw.de/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rosenhagen"/>
	<link rel="alternate" type="text/html" href="http://wiki.baw.de/en/index.php?title=Special:Contributions/Rosenhagen"/>
	<updated>2026-05-18T23:11:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>http://wiki.baw.de/en/index.php?title=Differences_of_Calculated_Results&amp;diff=14820</id>
		<title>Differences of Calculated Results</title>
		<link rel="alternate" type="text/html" href="http://wiki.baw.de/en/index.php?title=Differences_of_Calculated_Results&amp;diff=14820"/>
		<updated>2022-05-16T08:25:08Z</updated>

		<summary type="html">&lt;p&gt;Rosenhagen: /* Other skill definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[de:Differenzen der Berechnungsergebnisse]]&lt;br /&gt;
__NOAUTOLINKS__&lt;br /&gt;
__NOAUTOLINKTARGET__ &lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
For data generated by&lt;br /&gt;
* [[Mathematical Models for Coastal Areas and Estuaries|mathematical models]] ([[model]] results), or&lt;br /&gt;
* [[Analysis of Calculated Results|analysis of calculated results]] (characteristic numbers), or&lt;br /&gt;
* measured data (observational data)&lt;br /&gt;
Various differences can be computed. Input data can be typically categorized as follows:&lt;br /&gt;
* &#039;&#039;&#039;Category K0&#039;&#039;&#039;: &amp;lt;math&amp;gt;f(x,y,z)&amp;lt;/math&amp;gt;, time-independent quantities;&lt;br /&gt;
* &#039;&#039;&#039;Category K1&#039;&#039;&#039;: &amp;lt;math&amp;gt;f(x,y,z,t_1)&amp;lt;/math&amp;gt;, time-dependent quantities, one time step;&lt;br /&gt;
* &#039;&#039;&#039;Category KC&#039;&#039;&#039;: &amp;lt;math&amp;gt;f(x,y,z,t_i)&amp;lt;/math&amp;gt;, time-dependent quantities, several discrete time steps, constant time step &amp;lt;math&amp;gt;\Delta_t&amp;lt;/math&amp;gt;;&lt;br /&gt;
* &#039;&#039;&#039;Category KN&#039;&#039;&#039;: &amp;lt;math&amp;gt;f(x,y,z,t_i)&amp;lt;/math&amp;gt;, time-dependent quantities, several discrete time steps, varying time step &amp;lt;math&amp;gt;\Delta_t(i)&amp;lt;/math&amp;gt;.&lt;br /&gt;
For geophysical data categories K1, KC and KN are of significance. Examples:&lt;br /&gt;
* Category K1: topography/bathymetry &amp;lt;math&amp;gt;h(x,y,z,t_1)&amp;lt;/math&amp;gt; for a specific instant in time;&lt;br /&gt;
* Category KC: [[water level]] &amp;lt;math&amp;gt;\eta(x,y,z,t_i)&amp;lt;/math&amp;gt; at discrete times &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; with constant time step, e. g. computed by a mathematical model;&lt;br /&gt;
* Category KN: tidal high water &amp;lt;math&amp;gt;\eta^{\rm{HW}}(x,y,z,t_i)&amp;lt;/math&amp;gt; for times &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; at &#039;&#039;non-equidistant&#039;&#039; time intervals, e.g. derived from a water level time serie. &lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reference data &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&#039;&#039;&#039;: with respect to &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; various &#039;&#039;deviations&#039;&#039; for &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; can be evaluated. Typical data are either observational data or computational as well as analysis results for a specific (reference) state (situation); &lt;br /&gt;
* &#039;&#039;&#039;variant data &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;&#039;&#039;&#039;: can be also either observational data or computational as well as analysis results, for which deviations shall be computed with respect to the reference state. Typically variant data are given for a different period in time (natural variation) or a different state of the system under study.&lt;br /&gt;
* &#039;&#039;&#039;valid operator 1&#039;&#039;&#039;: &amp;lt;math&amp;gt;V(r_i)&amp;lt;/math&amp;gt; returns .T. or .F., in dependence whether &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is valid or invalid. Can be also applied to &amp;lt;math&amp;gt;f_i&amp;lt;/math&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;valid operator 2&#039;&#039;&#039;: &amp;lt;math&amp;gt;V(r_I,f_i)&amp;lt;/math&amp;gt; returns .T. or .F., in dependence whether &amp;lt;math&amp;gt;V(r_i)\land V(f_i)&amp;lt;/math&amp;gt; is valid or invalid.&lt;br /&gt;
* &#039;&#039;&#039;integer operator 1&#039;&#039;&#039;: &amp;lt;math&amp;gt;P(r_i)&amp;lt;/math&amp;gt; returns 1 if &amp;lt;math&amp;gt;V(r_i)&amp;lt;/math&amp;gt; else 0. Similar for &amp;lt;math&amp;gt;f_i&amp;lt;/math&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;integer operator 2&#039;&#039;&#039;: &amp;lt;math&amp;gt;P(r_i,f_i)&amp;lt;/math&amp;gt; returns 1 if &amp;lt;math&amp;gt;V(r_i)\land V(f_i)&amp;lt;/math&amp;gt; .T. else 0.&lt;br /&gt;
&lt;br /&gt;
==Requirements for the computation of differences==&lt;br /&gt;
&lt;br /&gt;
The following requirements must be fulfilled by &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;:&lt;br /&gt;
# &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; must belong to the same category (see above);&lt;br /&gt;
# the number of times &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; must be identical for &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;;&lt;br /&gt;
# for data belonging to category KC constant time steps must coincide &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; for &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;;&lt;br /&gt;
# (physical) dimension as well as meaning must be equivalent for &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;;&lt;br /&gt;
# &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; (short for &amp;lt;math&amp;gt;r(x,y,z,t_i)&amp;lt;/math&amp;gt;) as well as &amp;lt;math&amp;gt;f_i&amp;lt;/math&amp;gt; (short for &amp;lt;math&amp;gt;r(x,y,z,t_i)&amp;lt;/math&amp;gt;) must be valid data for the same instant &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; in time; otherwise the dervied results will become invalid. &lt;br /&gt;
&lt;br /&gt;
==Computational results==&lt;br /&gt;
&lt;br /&gt;
Program [[NCDELTA]] can be used to compute all subsequent results. Locations of &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; are not required to coincide with those of &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;. Values &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; are interpolated to locations of &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;, as long as the geographical distance between the different locations does not exceed &amp;lt;math&amp;gt;R^\max&amp;lt;/math&amp;gt;. In case the distance &#039;&#039;exceeds&#039;&#039; that limit, no results will be computed. In such a situation an  &#039;&#039;invalid&#039;&#039; result value will be generated. The follwing results can be computed using [[NCDELTA]]. &lt;br /&gt;
&lt;br /&gt;
===Ordinary differences===&lt;br /&gt;
&lt;br /&gt;
====Difference====&lt;br /&gt;
&lt;br /&gt;
A result is computed for all times (one value for time-independent data) at all locations &amp;lt;math&amp;gt;(x,y,z)&amp;lt;/math&amp;gt;:&lt;br /&gt;
# The difference between &amp;lt;math&amp;gt;f_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is calculated in case &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt; returns .T.:&lt;br /&gt;
#:&amp;lt;math&amp;gt;d_i = f_i - r_i&amp;lt;/math&amp;gt;, if &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt;; &lt;br /&gt;
# Result will be &#039;&#039;invalid&#039;&#039;, if &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt; returns .F.:&lt;br /&gt;
#:&amp;lt;math&amp;gt;d_i = \rm{invalid}&amp;lt;/math&amp;gt; if &amp;lt;math&amp;gt;\lnot V(r_i,f_i)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Results are computed for data belonging to categories &#039;&#039;&#039;K0&#039;&#039;&#039;, &#039;&#039;&#039;K1&#039;&#039;&#039;, &#039;&#039;&#039;KC&#039;&#039;&#039; und &#039;&#039;&#039;KN&#039;&#039;&#039;, which means for all types of data.&lt;br /&gt;
&lt;br /&gt;
====Maximum difference====&lt;br /&gt;
&lt;br /&gt;
Maximum difference is determined using &#039;&#039;absolute&#039;&#039; value (modulus) in combination with sign preservation:&lt;br /&gt;
# At first all differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; will be computed as indicated above;&lt;br /&gt;
# Out of all valid data [[index]] &amp;lt;math&amp;gt;i^\max&amp;lt;/math&amp;gt; is determined in such a way that &amp;lt;math&amp;gt;\left|d_i\right|&amp;lt;/math&amp;gt; is maximal&lt;br /&gt;
#:&amp;lt;math&amp;gt;d^\max = d_{i^\max}&amp;lt;/math&amp;gt;&lt;br /&gt;
#:is equal to the &#039;&#039;maximum difference&#039;&#039; according to this definition; this value can be negative, positive or zero;&lt;br /&gt;
# In case all values &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; are invalid &amp;lt;math&amp;gt;d^\max = \rm{invalid}&amp;lt;/math&amp;gt; will be set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;d^\max&amp;lt;/math&amp;gt; is obtained as long there exists at least one valid difference &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Minimum difference====&lt;br /&gt;
&lt;br /&gt;
Minimum difference is determined using &#039;&#039;absolute&#039;&#039; value (modulus) in combination with sign preservation:&lt;br /&gt;
# At first all differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; will be computed as indicated above;&lt;br /&gt;
# Out of all valid data index &amp;lt;math&amp;gt;i^\min&amp;lt;/math&amp;gt; is determined in such a way that &amp;lt;math&amp;gt;\left|d_i\right|&amp;lt;/math&amp;gt; is minimal&lt;br /&gt;
#:&amp;lt;math&amp;gt;d^\min = d_{i^\min}&amp;lt;/math&amp;gt;&lt;br /&gt;
#:is equal to the &#039;&#039;minimum difference&#039;&#039; according to this definition; this value can be negative, positive or zero;&lt;br /&gt;
# In case all values &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; are invalid &amp;lt;math&amp;gt;d^\min = \rm{invalid}&amp;lt;/math&amp;gt; will be set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;d^\min&amp;lt;/math&amp;gt; is obtained as long there exists at least one valid difference &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Mean difference====&lt;br /&gt;
&lt;br /&gt;
Mean value is computed for all valid differences:&lt;br /&gt;
# At first all differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; will be computed as indicated above;&lt;br /&gt;
# From all valid differences the mean value is computed as&lt;br /&gt;
#:&amp;lt;math&amp;gt;d^{\rm{mit}}=\frac{\sum_{i\in I}P(d_i)d_i}{\sum_{i\in I}P(d_i)}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; are invalid &amp;lt;math&amp;gt;d^{\rm{mit}} = \rm{invalid}&amp;lt;/math&amp;gt; will be set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;d^{\rm{mit}}&amp;lt;/math&amp;gt; is obtained as long there exists at least one valid difference &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Mean deviation====&lt;br /&gt;
&lt;br /&gt;
Mean deviation is computed for all valid differences:&lt;br /&gt;
# At first all differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; will be computed as indicated above;&lt;br /&gt;
# From all valid differences the mean deviation is computed as&lt;br /&gt;
#:&amp;lt;math&amp;gt;d^{\rm{abw}}=\frac{\sum_{i\in I}P(d_i)\left|d_i\right|}{\sum_{i\in I}P(d_i)}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; are invalid &amp;lt;math&amp;gt;d^{\rm{abw}} = \rm{invalid}&amp;lt;/math&amp;gt; will be set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;d^{\rm{abw}}&amp;lt;/math&amp;gt; is obtained as long there exists at least one valid difference &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Root mean square error (RMSE)====&lt;br /&gt;
&lt;br /&gt;
RMSE is computed for all valid differences:&lt;br /&gt;
# At first all differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; will be computed as indicated above;&lt;br /&gt;
# From all valid differences the mean deviation is computed from the well known definition for RMSE;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; are invalid RMSE = &#039;&#039;&#039;invalid&#039;&#039;&#039; will be set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid RMSE is obtained as long there exists at least one valid difference &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Number of valid differences====&lt;br /&gt;
&lt;br /&gt;
The number of valid differences may vary between different locations. As a consequence the above mentioned quantities may be computed from data sets of different size: &lt;br /&gt;
# At first all differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; will be computed as indicated above;&lt;br /&gt;
# The number of valid differences is computed as&lt;br /&gt;
#:&amp;lt;math&amp;gt;N_{\rm{ord}}=\sum_{i\in I}P(d_i)&amp;lt;/math&amp;gt;;&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. In program [[NCPLOT]] quantities like &#039;&#039;maximum difference&#039;&#039;, &#039;&#039;minimum difference&#039;&#039;, &#039;&#039;mean value&#039;&#039; as well as &#039;&#039;mean deviation&#039;&#039; can be visualised using this variable as a [[filter]]. &lt;br /&gt;
In that way visualizations can be created where the results are shown for points only where e. g. either the maximum number of events or a specific number of events occurred.&lt;br /&gt;
&lt;br /&gt;
===Data for a Taylor diagram===&lt;br /&gt;
&lt;br /&gt;
Taylor diagrams provide &amp;quot;&#039;&#039;a concise statistical summary of how well patterns match each other in terms of their correlation, their root-mean-square difference and the ratio of their variances&#039;&#039;.&amp;quot;  Additional information such as [[bias]] can be added to the conventional Taylor diagram.  The Taylor diagram provides a graphical framework that allows a suite of variables from a variety of (say) one or more models or reanalyses to be compared to reference data. The reference data can be observationally based (eg, [[reanalysis]]) or to another model or a control run. &lt;br /&gt;
&lt;br /&gt;
Literature and further informations:&lt;br /&gt;
# Taylor, K. E. (2001), &#039;&#039;Summarizing multiple aspects of model performance in a single diagram&#039;&#039;, Journal of Geophysical Research, 106 (D7), 7183–7192, doi: [http://dx.doi.org/10.1029/2000JD900719 http://dx.doi.org/10.1029/2000JD900719]; &lt;br /&gt;
# [http://www-pcmdi.llnl.gov/about/staff/Taylor/CV/Taylor_diagram_primer.htm http://www-pcmdi.llnl.gov/about/staff/Taylor/CV/Taylor_diagram_primer.htm] with a short introduction by K. E. Taylor as well as links to example applications.&lt;br /&gt;
&lt;br /&gt;
====Standard deviation for reference data====&lt;br /&gt;
&lt;br /&gt;
Standard deviation is going to be computed for all valid reference data:&lt;br /&gt;
# Mean value for &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; is computed according to&lt;br /&gt;
#:&amp;lt;math&amp;gt;\bar{r}=\frac{\sum_{i\in I}P(r_i,f_i)r_i}{\sum_{i\in I}P(r_i,f_i)}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# If a valid &amp;lt;math&amp;gt;\bar{r}&amp;lt;/math&amp;gt; was computed standard deviation is obtained from&lt;br /&gt;
#:&amp;lt;math&amp;gt;\sigma_r = \sqrt{\frac{\sum_{i\in I}P(r_i,f_i)\left(r_i-\bar{r}\right)^2}{\sum_{i\in I}P(r_i,f_i)}}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;P(r_i,f_i)&amp;lt;/math&amp;gt; are 0 &amp;lt;math&amp;gt;\sigma_r = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;\sigma_r&amp;lt;/math&amp;gt; is obtained as long as there exists at least one valid difference &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt;. Standard deviations for different locations may be computed from data sets of different size. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid Taylor data&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remark: We apply &amp;lt;math&amp;gt;P(r_i,f_i)&amp;lt;/math&amp;gt; instead of &amp;lt;math&amp;gt;P(r_i)&amp;lt;/math&amp;gt;. This guarantees that all Taylor data are computed for the same data set size at a specific location.&lt;br /&gt;
&lt;br /&gt;
====Standard deviation for variant data====&lt;br /&gt;
&lt;br /&gt;
Standard deviation is going to be computed for all valid variant data:&lt;br /&gt;
# Mean value for &amp;lt;math&amp;gt;f_i&amp;lt;/math&amp;gt; is computed according to&lt;br /&gt;
#:&amp;lt;math&amp;gt;\bar{f}=\frac{\sum_{i\in I}P(r_i,f_i)f_i}{\sum_{i\in I}P(r_i,f_i)}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# If a valid &amp;lt;math&amp;gt;\bar{f}&amp;lt;/math&amp;gt; was computed standard deviation is obtained from&lt;br /&gt;
#:&amp;lt;math&amp;gt;\sigma_f = \sqrt{\frac{\sum_{i\in I}P(r_i,f_i)\left(f_i-\bar{f}\right)^2}{\sum_{i\in I}P(r_i,f_i)}}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;P(r_i,f_i)&amp;lt;/math&amp;gt; are 0 &amp;lt;math&amp;gt;\sigma_f = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;\sigma_f&amp;lt;/math&amp;gt; is obtained as long as there exists at least one valid difference &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt;. Standard deviations for different locations may be computed from data sets of different size. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid Taylor data&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remark: We apply &amp;lt;math&amp;gt;P(r_i,f_i)&amp;lt;/math&amp;gt; instead of &amp;lt;math&amp;gt;P(r_i)&amp;lt;/math&amp;gt;. This guarantees that all Taylor data are computed for the same data set size at a specific location.&lt;br /&gt;
&lt;br /&gt;
====Correlation====&lt;br /&gt;
&lt;br /&gt;
Correlation is computed for &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;:&lt;br /&gt;
# Mean value &amp;lt;math&amp;gt;\bar{r}&amp;lt;/math&amp;gt; for reference data is computed as indicated above;&lt;br /&gt;
# Mean value &amp;lt;math&amp;gt;\bar{f}&amp;lt;/math&amp;gt; for variant data is computed as indicated above;&lt;br /&gt;
# Standard deviation &amp;lt;math&amp;gt;\sigma_r&amp;lt;/math&amp;gt; for reference data is computed as indicated above;&lt;br /&gt;
# Standard deviation &amp;lt;math&amp;gt;\sigma_f&amp;lt;/math&amp;gt; for variant data is computed as indicated above;&lt;br /&gt;
# Correlation &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; is given as follows&lt;br /&gt;
#:&amp;lt;math&amp;gt;R=\frac{\sum_{i\in I}P(r_i,f_i)\left(r_i-\bar{r}\right)\left(f_i-\bar{f}\right)}{\sigma_r\sigma_f\sum_{i\in I}P(r_i,f_i)}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt; are invalid &amp;lt;math&amp;gt;R = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; und &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; is obtained as long as there exists at least one valid difference &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt;. Correlations for different locations may be computed from data sets of different size. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid Taylor data&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Pattern RMS====&lt;br /&gt;
&lt;br /&gt;
Pattern RMS is computed for &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;:&lt;br /&gt;
# Mean value &amp;lt;math&amp;gt;\bar{r}&amp;lt;/math&amp;gt; for reference data is computed as indicated above;&lt;br /&gt;
# Mean value &amp;lt;math&amp;gt;\bar{f}&amp;lt;/math&amp;gt; for variant data is computed as indicated above;&lt;br /&gt;
# Pattern RMS &amp;lt;math&amp;gt;E&#039;&amp;lt;/math&amp;gt; is given as follows&lt;br /&gt;
#:&amp;lt;math&amp;gt;E&#039;=\sqrt{\frac{\sum_{i\in I}P(r_i,f_i)\left[\left(r_i-\bar{r}\right)\left(f_i-\bar{f}\right)\right]^2}{\sum_{i\in I}P(r_i,f_i)}}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt; are invalid &amp;lt;math&amp;gt;E&#039; = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; und &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;E&#039;&amp;lt;/math&amp;gt; is obtained as long as there exists at least one valid difference &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt;. Correlations for different locations may be computed from data sets of different size. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid Taylor data&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Deviation of means (&#039;&#039;Bias&#039;&#039;)====&lt;br /&gt;
&lt;br /&gt;
Deviation of means is computed for &amp;lt;math&amp;gt;\bar{r}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\bar{f}&amp;lt;/math&amp;gt;; this quantity is also called &#039;&#039;bias&#039;&#039;:&lt;br /&gt;
# Mean value &amp;lt;math&amp;gt;\bar{r}&amp;lt;/math&amp;gt; for reference data is computed as indicated above;&lt;br /&gt;
# Mean value &amp;lt;math&amp;gt;\bar{f}&amp;lt;/math&amp;gt; for variant data is computed as indicated above;&lt;br /&gt;
# Deviation of means &amp;lt;math&amp;gt;\bar{E}&amp;lt;/math&amp;gt; is given as follows&lt;br /&gt;
#:&amp;lt;math&amp;gt;\bar{E}=\bar{f}-\bar{r}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# In case all &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt; are invalid &amp;lt;math&amp;gt;\bar{E} = \rm{invalid}&amp;lt;/math&amp;gt; is set;&lt;br /&gt;
# Overall RMS &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; can be computed from &amp;lt;math&amp;gt;\bar{E}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E&#039;&amp;lt;/math&amp;gt; according to&lt;br /&gt;
#: &amp;lt;math&amp;gt;E = \sqrt{\bar{E}^2+E&#039;^2}&amp;lt;/math&amp;gt;;&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; und &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid &amp;lt;math&amp;gt;\bar{E}&amp;lt;/math&amp;gt; is obtained as long as there exists at least one valid difference &amp;lt;math&amp;gt;V(r_i,f_i)&amp;lt;/math&amp;gt;. Biases for different locations may be computed from data sets of different size. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid Taylor data&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Root mean square error (RMSE) according to Taylor====&lt;br /&gt;
&lt;br /&gt;
RMSE is computed according to Taylor (2001, equation 3) from &#039;&#039;Pattern RMS&#039;&#039; and &#039;&#039;Bias&#039;&#039;.  Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid RMSE is obtained as long as there exists at least one valid difference &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Definition of RMSE according to Taylor (2001) is mathematically identical to the standard equation for RMSE but computational results may differ slightly due to numerical roundoff.&lt;br /&gt;
&lt;br /&gt;
====Taylor Skill 4====&lt;br /&gt;
&lt;br /&gt;
Skill S4 is computed according to Taylor (2001, equation 4) from correlation and normalized variance. &lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. A valid S4 is obtained as long as there exists at least one valid difference &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. S4 can be characterised as follows:&lt;br /&gt;
* S4 = 1.0 indicates perfect fit;&lt;br /&gt;
* S4 = 0.0, if correlation R = -1.0 or variance of the variant tends towards 0.0 or infinity;&lt;br /&gt;
* S4 is linear with respect to R (at constant variance);&lt;br /&gt;
* For zero variance S4 is not defined;&lt;br /&gt;
* Bias between variant and reference has no influence on S4.&lt;br /&gt;
S4 &#039;&#039;punishes&#039;&#039; deviations in &#039;&#039;Pattern RMS&#039;&#039;, and is more &#039;&#039;tolerant&#039;&#039; with respect to deviations in R. See Taylor (2001, figure 10).&lt;br /&gt;
 &lt;br /&gt;
====Taylor Skill 5====&lt;br /&gt;
&lt;br /&gt;
Skill S5 according to Taylor (2001, euqation 5) is computed from correlation and normalized variance.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
In contrast to S4 deviations with respect to &#039;&#039;Pattern RMS&#039;&#039; and correlation are treated (&#039;&#039;punished&#039;&#039;) similarly. See Taylor (2001, figure 11).&lt;br /&gt;
&lt;br /&gt;
====Number of valid reference data====&lt;br /&gt;
&lt;br /&gt;
Number of valid reference data &amp;lt;math&amp;gt;r_i&amp;lt;/math&amp;gt; may differ between locations:&lt;br /&gt;
# The number of valid reference data is given by&lt;br /&gt;
#:&amp;lt;math&amp;gt;N_r=\sum_{i\in I}P(r_i)&amp;lt;/math&amp;gt;;&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; und &#039;&#039;&#039;KN&#039;&#039;&#039;. This quantity is of purely informative character and is not truely required for any of the Taylor diagram data.&lt;br /&gt;
&lt;br /&gt;
====Number of valid variant data====&lt;br /&gt;
&lt;br /&gt;
Number of valid variant data &amp;lt;math&amp;gt;f_i&amp;lt;/math&amp;gt; may differ between locations:&lt;br /&gt;
# The number of valid variant data is given by&lt;br /&gt;
#:&amp;lt;math&amp;gt;N_f=\sum_{i\in I}P(f_i)&amp;lt;/math&amp;gt;;&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. This quantity is of purely informative character and is not truely required for any of the Taylor diagram data.&lt;br /&gt;
&lt;br /&gt;
====Number of valid Taylor data====&lt;br /&gt;
&lt;br /&gt;
The number of valid Taylor data &amp;lt;math&amp;gt;\bar{r},\bar{f},\sigma_r,\sigma_f,R,E&#039;&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\bar{E}&amp;lt;/math&amp;gt; may be different from location to location:&lt;br /&gt;
# The number of valid Taylor data is given by&lt;br /&gt;
#:&amp;lt;math&amp;gt;N_T=\sum_{i\in I}P(r_i,f_i)&amp;lt;/math&amp;gt;;&lt;br /&gt;
Computation is performed for categories  &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. In programs like [[NCPLOT]] the above mentioned Taylor data can be filtered using this quantity. This offers the opportunity to present results for e. g. locations where all events have occurred, or for locations where only a specific number of events has occurred.&lt;br /&gt;
&lt;br /&gt;
===Median and quantiles===&lt;br /&gt;
&lt;br /&gt;
A prerequisite for the computation of all subsequent quantities is that all valid differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; have to be sorted in ascending order: all &amp;lt;math&amp;gt;N_{\rm{ord}}&amp;lt;/math&amp;gt; valid differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt; are sorted in ascending order into &amp;lt;math&amp;gt;s_j&amp;lt;/math&amp;gt;, with &amp;lt;math&amp;gt;j \in [1:N_{\rm{ord}}]&amp;lt;/math&amp;gt;. Subsequently &amp;lt;math&amp;gt;n:=N_{\rm{ord}}&amp;lt;/math&amp;gt; will be used for sake of simplicity.&lt;br /&gt;
&lt;br /&gt;
Computation is carried through if &amp;lt;math&amp;gt;n \ge 32&amp;lt;/math&amp;gt; holds.&lt;br /&gt;
&lt;br /&gt;
====Median====&lt;br /&gt;
&lt;br /&gt;
Median is computed for all valid differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;:&lt;br /&gt;
# if &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; odd: &amp;lt;math&amp;gt;d_{\rm{Med}} = s_\frac{n+1}{2}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# if &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; even: &amp;lt;math&amp;gt;d_{\rm{Med}} = 0.5\left( s_{\frac{n}{2}}+s_{\frac{n}{2}+1}\right)&amp;lt;/math&amp;gt;;&lt;br /&gt;
# in case that there are less than 32 valid data &amp;lt;math&amp;gt;d_{\rm{Med}} = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Quantile Q01====&lt;br /&gt;
&lt;br /&gt;
Quantile &amp;lt;math&amp;gt;p=0.01&amp;lt;/math&amp;gt; is computed for all valid differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. In other words: we obtain a specific value &lt;br /&gt;
for &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;, which is deceeded by just 1 % of all events but exceeded by 99 % of all events:&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; integer: &amp;lt;math&amp;gt;d_{\rm{Q01}} = 0.5\left( s_{n \cdot p}+s_{n \cdot p+1}\right)&amp;lt;/math&amp;gt;;&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; real: &amp;lt;math&amp;gt;d_{\rm{Q01}} = s_{\lceil n \cdot p \rceil}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# in case that there are less than 32 valid data &amp;lt;math&amp;gt;d_{\rm{Q01}} = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. &amp;lt;math&amp;gt;d_{\rm{Q01}}&amp;lt;/math&amp;gt; may be computed for different data set sizes at different locations. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Quantile Q05====&lt;br /&gt;
&lt;br /&gt;
Quantile &amp;lt;math&amp;gt;p=0.05&amp;lt;/math&amp;gt; is computed for all valid differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. In other words: we obtain a specific value &lt;br /&gt;
for &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;, which is deceeded by 5 % of all events but exceeded by 95 % of all events:&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; integer: &amp;lt;math&amp;gt;d_{\rm{Q05}} = 0.5\left( s_{n \cdot p}+s_{n \cdot p+1}\right)&amp;lt;/math&amp;gt;;&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; real: &amp;lt;math&amp;gt;d_{\rm{Q05}} = s_{\lceil n \cdot p \rceil}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# in case that there are less than 32 valid data &amp;lt;math&amp;gt;d_{\rm{Q05}} = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. &amp;lt;math&amp;gt;d_{\rm{Q05}}&amp;lt;/math&amp;gt; may be computed for different data set sizes at different locations. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Quantile Q95====&lt;br /&gt;
&lt;br /&gt;
Quantile &amp;lt;math&amp;gt;p=0.95&amp;lt;/math&amp;gt; is computed for all valid differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. In other words: we obtain a specific value &lt;br /&gt;
for &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;, which is deceeded by 95 % of all events but exceeded by 5 % of all events:&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; integer: &amp;lt;math&amp;gt;d_{\rm{Q95}} = 0.5\left( s_{n \cdot p}+s_{n \cdot p+1}\right)&amp;lt;/math&amp;gt;;&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; real: &amp;lt;math&amp;gt;d_{\rm{Q95}} = s_{\lceil n \cdot p \rceil}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# in case that there are less than 32 valid data &amp;lt;math&amp;gt;d_{\rm{Q95}} = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. &amp;lt;math&amp;gt;d_{\rm{Q95}}&amp;lt;/math&amp;gt; may be computed for different data set sizes at different locations. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Quantile Q99====&lt;br /&gt;
&lt;br /&gt;
Quantile &amp;lt;math&amp;gt;p=0.99&amp;lt;/math&amp;gt; is computed for all valid differences &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;. In other words: we obtain a specific value &lt;br /&gt;
for &amp;lt;math&amp;gt;d_i&amp;lt;/math&amp;gt;, which is deceeded by 99 % of all events but exceeded by just 1 % of all events:&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; integer: &amp;lt;math&amp;gt;d_{\rm{Q99}} = 0.5\left( s_{n \cdot p}+s_{n \cdot p+1}\right)&amp;lt;/math&amp;gt;;&lt;br /&gt;
# if &amp;lt;math&amp;gt;n \cdot p&amp;lt;/math&amp;gt; real: &amp;lt;math&amp;gt;d_{\rm{Q99}} = s_{\lceil n \cdot p \rceil}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# in case that there are less than 32 valid data &amp;lt;math&amp;gt;d_{\rm{Q99}} = \rm{invalid}&amp;lt;/math&amp;gt; is set.&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. &amp;lt;math&amp;gt;d_{\rm{Q99}}&amp;lt;/math&amp;gt; may be computed for different data set sizes at different locations. During visualization [[NCPLOT]] enables filtering using ancillary variable &#039;&#039;Number of valid differences&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Other skill definitions===&lt;br /&gt;
&lt;br /&gt;
====Murphy Skill 4====&lt;br /&gt;
&lt;br /&gt;
Literature:&lt;br /&gt;
# Murphy, Allan H. (1988) &amp;quot;Skill Scores Based on the Mean Square Error and Their Relationship to the Correlation Coefficient&amp;quot;. Monthly Weather Review, Dec. 1988, pages 2417 - 2424. &lt;br /&gt;
&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. Skill S4 according to Murphy (1988, equation 4) can be characterised as follows:&lt;br /&gt;
* 1.0 indicates perfect fit;&lt;br /&gt;
* 0.0 indicates that the mean value of the reference data models the (reference) data as good as the variant data, because both &amp;quot;models&amp;quot; show the same mean square error (MSE);&lt;br /&gt;
* negative skill indicates, that the mean value of the reference data models the (reference) data better than the variant data do;&lt;br /&gt;
* &#039;&#039;bias&#039;&#039; is taken into account.&lt;br /&gt;
&lt;br /&gt;
====Willmott Skill (1981)====&lt;br /&gt;
&lt;br /&gt;
Literature:&lt;br /&gt;
# Willmott, Cort J. (1981) &amp;quot;On the validation of models&amp;quot;. Physical Geography, pages 184–194.&lt;br /&gt;
&lt;br /&gt;
Computation is performed for categories &#039;&#039;&#039;KC&#039;&#039;&#039; and &#039;&#039;&#039;KN&#039;&#039;&#039;. Skill according to Willmott (1981, equation 9) can be characterised as follows:&lt;br /&gt;
* 1.0 indicates perfect fit;&lt;br /&gt;
* 0.0 is the lower limit, for example resulting from phase shift by 180°;&lt;br /&gt;
* &#039;&#039;bias&#039;&#039; is taken into account.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
back to [[Pre- and Postprocessing]]&lt;br /&gt;
----&lt;br /&gt;
[[Overview]]&lt;/div&gt;</summary>
		<author><name>Rosenhagen</name></author>
	</entry>
	<entry>
		<id>http://wiki.baw.de/en/index.php?title=NCDELTA.DAT&amp;diff=14563</id>
		<title>NCDELTA.DAT</title>
		<link rel="alternate" type="text/html" href="http://wiki.baw.de/en/index.php?title=NCDELTA.DAT&amp;diff=14563"/>
		<updated>2021-09-06T08:00:41Z</updated>

		<summary type="html">&lt;p&gt;Rosenhagen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FileDescription&lt;br /&gt;
|name_de=NCDELTA.DAT&lt;br /&gt;
|filetype=ncdelta.dat&lt;br /&gt;
|version=August 2021&lt;br /&gt;
|version_descr=August 2021&lt;br /&gt;
|significance=contains general steering data for the program [[NCDELTA]].&lt;br /&gt;
|filecontents=&lt;br /&gt;
&#039;&#039;&#039;steering data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Block &#039;&#039;&#039;Program_Parameters&#039;&#039;&#039;: general steering data&lt;br /&gt;
*# &#039;&#039;&#039;Max_Read_Storage&#039;&#039;&#039;: maximum number of data items read from input file during each analysis cycle. This value, multiplied with either 24 (REAL Single) or 48 (REAL Double), gives in good approximation [[NCDELTA|NCDELTA&#039;s]] memory requirements (in Byte).&lt;br /&gt;
*# &#039;&#039;&#039;Max_Distance&#039;&#039;&#039;: maximum distance in [m] up to which points with different location are compared.&lt;br /&gt;
*# (optional) &#039;&#039;&#039;Print_Modus_Classify&#039;&#039;&#039;: parameter to steer informative printout messages in program section &#039;&#039;classification&#039;&#039;:&lt;br /&gt;
*## &#039;&#039;&#039;0&#039;&#039;&#039; = no extensive messages printed; &lt;br /&gt;
*## &#039;&#039;&#039;1&#039;&#039;&#039; = more extensive messages about classified variables will be printed. &lt;br /&gt;
*# (optional) &#039;&#039;&#039;Print_Modus_Pairs&#039;&#039;&#039;: parameter to steer informative printout messages in program section &#039;&#039;primary partner variables&#039;&#039;:&lt;br /&gt;
*## &#039;&#039;&#039;0&#039;&#039;&#039; = no extensive messages printed; &lt;br /&gt;
*## &#039;&#039;&#039;1&#039;&#039;&#039; = more extensive messages about detected variable pairs will be printed;&lt;br /&gt;
*## &#039;&#039;&#039;2&#039;&#039;&#039; = also informations about rejected variable pairs will be printed.&lt;br /&gt;
*# (optional) &#039;&#039;&#039;Print_Modus_Define&#039;&#039;&#039;: parameter to steer informative printout messages in program section &#039;&#039;definition of computational results&#039;&#039;:&lt;br /&gt;
*##&#039;&#039;&#039;0&#039;&#039;&#039; = no extensive messages printed; &lt;br /&gt;
*## &#039;&#039;&#039;1&#039;&#039;&#039; = more extensive informations with respect to metadata of computational results will be printed. &lt;br /&gt;
*# (optional) &#039;&#039;&#039;Print_Modus_Compute&#039;&#039;&#039;: parameter to steer informative printout messages in program section &#039;&#039;computation of results&#039;&#039;:&lt;br /&gt;
*##&#039;&#039;&#039;0&#039;&#039;&#039; = no extensive messages printed; &lt;br /&gt;
*## &#039;&#039;&#039;1&#039;&#039;&#039; = more extensive messages about computational result variables will be printed.&lt;br /&gt;
*# (optional) &#039;&#039;&#039;NC_Deflate_Level&#039;&#039;&#039;: deflate level (0,1,2,...,9) for online compression of data during write. 0 corresponds to no compression and 9 to maximum compression&lt;br /&gt;
*# (optional) &#039;&#039;&#039;NC_Cmode_Id&#039;&#039;&#039;: &#039;&#039;creation mode flag&#039;&#039; used for [[NetCDF|CF NetCDF]] method  [https://www.unidata.ucar.edu/software/netcdf/netcdf-4/newdocs/netcdf-f90/NF90_005fCREATE.html NF90_CREATE]. Typical values used in this application are:&lt;br /&gt;
*#* 4 = &#039;&#039;&#039;NF90_64BIT_OFFSET&#039;&#039;&#039; (NetCDF 64Bit file, no HDF - no online compression);&lt;br /&gt;
*#* 5 = &#039;&#039;&#039;NF90_CLASSIC_MODEL&#039;&#039;&#039; (HDF file without use of extended HDF features - with online compression).&lt;br /&gt;
* Block &#039;&#039;&#039;Data_Files&#039;&#039;&#039;: data files&lt;br /&gt;
*# &#039;&#039;&#039;Reference_File&#039;&#039;&#039;: file (NETCDF) with &#039;&#039;&#039;reference&#039;&#039;&#039; data (filetype [[CF-NETCDF.NC|cf-netcdf.nc]]);&lt;br /&gt;
*# &#039;&#039;&#039;Variant_File&#039;&#039;&#039;: file (NETCDF) with &#039;&#039;&#039;variant&#039;&#039;&#039; data (filetype [[CF-NETCDF.NC|cf-netcdf.nc]]);&lt;br /&gt;
*# &#039;&#039;&#039;Result_File&#039;&#039;&#039;: file (NETCDF) for &#039;&#039;&#039;result&#039;&#039;&#039; data (filetype [[CF-NETCDF.NC|cf-netcdf.nc]]);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;Reference_Period&#039;&#039;&#039;: start and end time of period of comparison for reference data (for synoptic data only);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;Variant_Period&#039;&#039;&#039;: start and end time of period of comparison for variant data (for synoptic data only).&lt;br /&gt;
* (optional) Block &#039;&#039;&#039;Data_Operations&#039;&#039;&#039;: data operations&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Ordinary_Differences&#039;&#039;&#039;: compute (.true.) common differences (if possible) or do not compute (.false.);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Taylor_Diagram_Data&#039;&#039;&#039;: compute (.true.) data for Taylor diagram (if possible) or do not compute (.false.); including skill scores according to Taylor (2001) equations 4 and 5;&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Median&#039;&#039;&#039;: compute (.true.) median (&amp;gt;= 32 events) or do not compute (.false.);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Percentiles_05_95&#039;&#039;&#039;: compute (.true.) percentiles Q05, Q95 (&amp;gt;= 32 events) or do not compute (.false.);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Percentiles_01_99&#039;&#039;&#039;: compute (.true.) percentiles Q01, Q99 (&amp;gt;= 51 events) or do not compute (.false.);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Murphy_Skill_1988&#039;&#039;&#039;: compute (.true.) skill according to Murphy (1988) equation 4 or do not compute (.false.);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Skill_Willmott_1981&#039;&#039;&#039;: compute (.true.) skill according to Willmott (1981) Index of agreement (d);&lt;br /&gt;
*# (optional) &#039;&#039;&#039;With_Original_Data&#039;&#039;&#039;: copy (.true.) or not (.false.) input data from which ordinary differences are computed.&lt;br /&gt;
* (optional) Block &#039;&#039;&#039;Exclude_Variable_From_NCDELTA&#039;&#039;&#039;: list of variables to be excluded from computation.&lt;br /&gt;
*# &#039;&#039;&#039;Variant_Variable&#039;&#039;&#039;: variable from &#039;&#039;Variant-File&#039;&#039;. Key can be prescribed several times. With exception of the variables listed here results will be computed for all primary variable pairs.&lt;br /&gt;
* (optional) Block &#039;&#039;&#039;Include_Only_Variable_for_NCDELTA&#039;&#039;&#039;: list of variables for which results ar exclusively computed.&lt;br /&gt;
*# &#039;&#039;&#039;Variant_Variable&#039;&#039;&#039;: variable from &#039;&#039;Variant-File&#039;&#039;. Key can be prescribed several times. Results will be solely computed for the variables listed here.&lt;br /&gt;
* (optional) Block &#039;&#039;&#039;No_Normal_Vector_Variable&#039;&#039;&#039;: The list of variables which are normal vectors is (mostly) automatically determined with [[NCDELTA]]. So far, unfortunately, not all of them can be safely identified based on CF metadata. With this list variables can be explicitely &#039;&#039;&#039;&#039;&#039;excluded&#039;&#039;&#039;&#039;&#039; from the class of normal vector variables.&lt;br /&gt;
*# &#039;&#039;&#039;Variable&#039;&#039;&#039;: variable from  &#039;&#039;Variant-File&#039;&#039; or &#039;&#039;Reference_File&#039;&#039;. Key can be prescribed several times.&lt;br /&gt;
* (optional) Block &#039;&#039;&#039;Normal_Vector_Variable&#039;&#039;&#039;: The list of variables which are normal vectors is (mostly) automatically determined with [[NCDELTA]]. So far, unfortunately, not all of them can be safely identified based on CF metadata. With this list variables can be explicitely &#039;&#039;&#039;&#039;&#039;included&#039;&#039;&#039;&#039;&#039; in the class of normal vector variables.&lt;br /&gt;
*# &#039;&#039;&#039;Variable&#039;&#039;&#039;: variable from  &#039;&#039;Variant-File&#039;&#039; or &#039;&#039;Reference_File&#039;&#039;. Key can be prescribed several times.&lt;br /&gt;
* (optional) Block &#039;&#039;&#039;Label_Relation&#039;&#039;&#039;: For intercomparison of  &#039;&#039;fractioned&#039;&#039; variables, for which the relationship between individual &#039;&#039;fractions&#039;&#039; (sediment, tidal constituent, etc.) cannot be automatically determined. In such situations the corresponding names must be prescribed by the user. Block can be specified several times.&lt;br /&gt;
*# &#039;&#039;&#039;Variant_Label_KV&#039;&#039;&#039;: name of a valid label coordinate variable from &#039;&#039;Variant_File&#039;&#039; or &#039;&#039;NONE&#039;&#039;.&lt;br /&gt;
*# &#039;&#039;&#039;Reference_Label_KV&#039;&#039;&#039;: name of a valid label coordinate variable from &#039;&#039;Reference_File&#039;&#039; or &#039;&#039;NONE&#039;&#039;.&lt;br /&gt;
*# &#039;&#039;&#039;Relation&#039;&#039;&#039;: &#039;&#039;name of a &#039;&#039;fraction&#039;&#039; in Variant_File&#039;&#039; &#039;&#039;&#039;:&#039;&#039;&#039; &#039;&#039;name of a &#039;&#039;fraction&#039;&#039; in Reference_File&#039;&#039;. Key can be specified several times. &#039;&#039;NONE&#039;&#039;  must be specified in case there exists no corresponding label coordinate variable. Colon is used as separator.&lt;br /&gt;
&lt;br /&gt;
===General Remarks===&lt;br /&gt;
# Dictionary files used from directory &#039;&#039;&#039;&#039;&#039;$PROGHOME/dic/&#039;&#039;&#039;&#039;&#039;:&lt;br /&gt;
#* &#039;&#039;&#039;&#039;&#039;ncdelta_dico.dat&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
# Use Cases:&lt;br /&gt;
#* Case 1: &#039;&#039;&#039;Reference_File&#039;&#039;&#039; = simulation 1, &#039;&#039;&#039;Variant_File&#039;&#039;&#039; = simulation 2;&lt;br /&gt;
#* Case 2: &#039;&#039;&#039;Reference_File&#039;&#039;&#039; = measurement, &#039;&#039;&#039;Variant_File&#039;&#039;&#039; = simulation; &lt;br /&gt;
#* Case 3: &#039;&#039;&#039;Reference_File&#039;&#039;&#039; = measurement 1, &#039;&#039;&#039;Variant_File&#039;&#039;&#039; = measurement 2; &lt;br /&gt;
#: Synoptic data &#039;&#039;or&#039;&#039; data analysis results from program [[NCANALYSE]] can be used.&lt;br /&gt;
# General requirements:&lt;br /&gt;
#* Synoptic data:&lt;br /&gt;
#** length of time period must be identical (periods may differ), and&lt;br /&gt;
#** time step must be identical.&lt;br /&gt;
#* Analysis results ([[NCANALYSE]]):&lt;br /&gt;
#** length of period of data analysis must be comparable, and&lt;br /&gt;
#** number of events, e.g. tidal high water, must also be identical.&lt;br /&gt;
#* Z coordinate variables:   &lt;br /&gt;
#: z coordinate variables, if present, must be consistent with respect to&lt;br /&gt;
#:* CF attribute &#039;&#039;positive&#039;&#039; all with value &amp;quot;down&amp;quot;, or&lt;br /&gt;
#:* CF attribute &#039;&#039;positive&#039;&#039; all with value &amp;quot;up&amp;quot;&lt;br /&gt;
#: (see [http://cfconventions.org/ CF metadata conventions]).&lt;br /&gt;
# Special requirements:&lt;br /&gt;
#* ref. case 1: &lt;br /&gt;
#** same vertical structure (number of layers), and&lt;br /&gt;
#** identical (tracer-) fractions (if present).&lt;br /&gt;
#* ref. case 2: &lt;br /&gt;
#** identical (tracer-) fractions (if present), and&lt;br /&gt;
#** measured data may contain for the same (geographical) location (x,y) several measured data in different depths (z). Furthermore&lt;br /&gt;
#** for comparisons with measured current velocity attribute &amp;quot;name_id&amp;quot; of variable &amp;quot;current_velocity&amp;quot; must be set to 836. This requirement should be checked before execution (e.g. using ncdump). In case this condition is not fulfilled NCO tool NCATTED &amp;lt;br /&amp;gt; &#039;&#039;&#039;ncatted -a name_id,current_velocity,m,i,836 -O &#039;&#039;reference_file&#039;&#039;.nc&#039;&#039;&#039; &amp;lt;br /&amp;gt; can be used to redefine &amp;quot;name_id&amp;quot; accordingly.&lt;br /&gt;
#* ref. case 3: &lt;br /&gt;
#** each (geographical) location is allowed to be present only once; locations with several stacked data positions are not allowed currently with this use case.&lt;br /&gt;
&lt;br /&gt;
|nutzerprogramme=[[NCDELTA]]&lt;br /&gt;
|language=Fortran90&lt;br /&gt;
|fileform=FORMATTED&lt;br /&gt;
|fileaccess=SEQUENTIAL&lt;br /&gt;
|fileextension=.dat&lt;br /&gt;
|writemodules= ---&lt;br /&gt;
|readmodules=$PROGHOME/fortran/prg/ncdelta/*/mod_m_ncdelta_steer.f90&lt;br /&gt;
|contact_original=[mailto:guenther.lang@baw.de G. Lang]&lt;br /&gt;
|contact_maintenance=[mailto:guenther.lang@baw.de G. Lang], [mailto:susanne.spohr@baw.de S. Spohr]&lt;br /&gt;
|examplefile=$PROGHOME/examples/ncdelta/ncdelta.dat&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rosenhagen</name></author>
	</entry>
	<entry>
		<id>http://wiki.baw.de/en/index.php?title=NCDELTA&amp;diff=14562</id>
		<title>NCDELTA</title>
		<link rel="alternate" type="text/html" href="http://wiki.baw.de/en/index.php?title=NCDELTA&amp;diff=14562"/>
		<updated>2021-09-06T07:58:09Z</updated>

		<summary type="html">&lt;p&gt;Rosenhagen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProgramDescription&lt;br /&gt;
|name_de=NCDELTA&lt;br /&gt;
|name=NCDELTA&lt;br /&gt;
|version=August 2021&lt;br /&gt;
|version_descr=August 2021&lt;br /&gt;
|catchwords=&lt;br /&gt;
postprocessor&amp;lt;br /&amp;gt;&lt;br /&gt;
differences of synoptic data (with optional restriction of time period)&amp;lt;br /&amp;gt;&lt;br /&gt;
differences of characteristic numbers&amp;lt;br /&amp;gt;&lt;br /&gt;
differences for extensive quantities&amp;lt;br /&amp;gt;&lt;br /&gt;
input data for Taylor diagram&amp;lt;br /&amp;gt;&lt;br /&gt;
median, percentiles (Q01, Q05, Q95, Q99)&amp;lt;br /&amp;gt;&lt;br /&gt;
skill score according to Murphy (1988) equation 4&amp;lt;br /&amp;gt;&lt;br /&gt;
skill score according to Taylor (2001) equations 4 and 5&amp;lt;br /&amp;gt;&lt;br /&gt;
skill score according to Willmott (1981) Index of agreement (d)&amp;lt;br /&amp;gt;&lt;br /&gt;
parallelization using [http://openmp.org/wp/ OpenMP]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[NetCDF#Quality assurance using NetCDF attributes|automatic quality assurance (value range)]]&amp;lt;br /&amp;gt;&lt;br /&gt;
automatic adjustment of number of READ data to chunk size of data&amp;lt;br /&amp;gt;&lt;br /&gt;
automatic setting of WRITE chunk sizes for written variables&amp;lt;br /&amp;gt; &lt;br /&gt;
Storage of the content of the ASCII input control files in [[CF-NETCDF.NC|netcdf.nc]] (as a variable)&amp;lt;br /&amp;gt;&lt;br /&gt;
Storage of [https://en.wikipedia.org/wiki/MD5 MD5 hash values] ​​of input files in [[CF-NETCDF.NC|netcdf.nc]] (as a variable)&amp;lt;br /&amp;gt;&lt;br /&gt;
optional use of &#039;&#039;Message Passing Interface&#039;&#039; (MPI, [https://www.mpi-forum.org/ MPI Forum])&lt;br /&gt;
&lt;br /&gt;
 Acknowledgment: &#039;&#039;This project took advantage of netCDF software developed by UCAR/Unidata ([http://www.unidata.ucar.edu/software/netcdf/ www.unidata.ucar.edu/software/netcdf/]).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|shortdescription=&lt;br /&gt;
Program computes differences for comparable variables (primary variable pairs) as well as additional statistical data derived from primary differences, but also data for Taylor diagrams (details see [[Differences of Calculated Results]]) can be computed for some types of data. Finding the primary variable pairs is done in an essentially automatical manner but can be altered to some extent by the user (see [[NCDELTA.DAT|ncdelta.dat]]). Primary differences are computed according to &#039;&#039;variant data&#039;&#039; &#039;&#039;&#039;minus&#039;&#039;&#039; &#039;&#039;reference data&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Requirements for time-dependent primary variable pairs with individual constant time step:&lt;br /&gt;
# both data sets may contain a &#039;&#039;different&#039;&#039; number of data items (time steps), but the length of the time period to be compared must be identical, whereas the periods to be compared may differ ;&lt;br /&gt;
# constant time step for each data set may differ from each other, but the larger time step must an integer multiple of the smaller one.&lt;br /&gt;
&lt;br /&gt;
Requirements for time-dependent primary variable pairs with variable time step:&lt;br /&gt;
# both data sets must contain an &#039;&#039;identical&#039;&#039; number of data items (time steps), with periods allowed to be different.&lt;br /&gt;
&lt;br /&gt;
Remarks concerning the spatial location of data:&lt;br /&gt;
# data sets may differ with respect to their geographical location;&lt;br /&gt;
# areas for which data are defined must overlap to some degree;&lt;br /&gt;
# coordinates may be given in different coordinate systems, e. g. Gauß-Krüger and UTM;&lt;br /&gt;
# data for a location are compared with data for the nearest lying location, as far as the distance between the different locations does not exceed a prescribed maximum (see [[NCDELTA.DAT|ncdelta.dat]]). &lt;br /&gt;
&lt;br /&gt;
Remarks concerning the comparison of extensive variables:&lt;br /&gt;
# for extensive variables the respective sizes of the computational cells (area, length) are taken into account.&lt;br /&gt;
&lt;br /&gt;
|inputfiles=&lt;br /&gt;
# &#039;&#039;&#039;general input data&#039;&#039;&#039; (file type [[NCDELTA.DAT|ncdelta.dat]]);&lt;br /&gt;
# &#039;&#039;&#039;reference data&#039;&#039;&#039; (file type [[CF-NETCDF.NC]]);&lt;br /&gt;
# &#039;&#039;&#039;variant data&#039;&#039;&#039; (file type [[CF-NETCDF.NC]]);&lt;br /&gt;
# for [[NetCDF#Automatic quality assurance using NetCDF attributes|automatic quality assurance]] (file type [[BOUNDS.CFG.DAT|bounds_verify.dat]]).&lt;br /&gt;
&lt;br /&gt;
|outputfiles=  &lt;br /&gt;
# &#039;&#039;&#039;results&#039;&#039;&#039; (file type [[CF-NETCDF.NC]])&lt;br /&gt;
# (optional) informative &#039;&#039;&#039;printer file&#039;&#039;&#039; of program execution (file type ncdelta.sdr)&lt;br /&gt;
# (optional) &#039;&#039;&#039;trace&#039;&#039;&#039; of program execution (file type ncdelta.trc)&lt;br /&gt;
&lt;br /&gt;
|methodology=&lt;br /&gt;
The program is subdivided into the following sections:&lt;br /&gt;
# read, check and print steering data prescribed by the user;&lt;br /&gt;
# read metadata for &#039;&#039;reference data&#039;&#039;;&lt;br /&gt;
# read metadata for &#039;&#039;variant data&#039;&#039;;&lt;br /&gt;
# copy metadata for reference as well as variant data to program specific data structures;&lt;br /&gt;
# compare metadata for substantial discrepancies (e. g. reference locations) between data sets;&lt;br /&gt;
# classify all reference as well as variant data;&lt;br /&gt;
# find primary variable pairs: each variant variable has one partner reference variable; primary computational results will be later derived from primary variable pairs;&lt;br /&gt;
# derive variables to be copied from reference as well as variant data file into the result file;&lt;br /&gt;
# compute interpolation matrices required for interpolation between reference data locations and variant data locations;&lt;br /&gt;
# create all metadata for the result file; essentially they stem from variables to be copied, from primary result variables, newly generated coordinate variables (time, vertical), as well as newly derived or to be copied measure and auxiliary variables;&lt;br /&gt;
# copy selceted variables from reference as well as variant file to the result file;&lt;br /&gt;
# compute all primary variables, (new) time and vertical coordinate variables, as well as weights and auxiliary variables.  For primary variables optionally available axiliary variables with &#039;&#039;standard_name&#039;&#039; modifier &#039;&#039;status_flag&#039;&#039; are taken into account in case meaning &#039;&#039;good&#039;&#039; is represented by an appropriate flag (bit).&lt;br /&gt;
# with respect of the different skill scores used and computed by the program - references:&lt;br /&gt;
#*  Murphy, Allan H. (1988) &amp;quot;Skill Scores Based on the Mean Square Error and Their Relationship to the Correlation Coefficient&amp;quot;. Monthly Weather Review, Dec. 1988, Pages 2417 - 2424.&lt;br /&gt;
#* Taylor, Karl E. (2001) &amp;quot;Summarizing multiple aspects of model performance in a single diagram&amp;quot;. Journal of Geophysical Research, Vol 106, No. D7, April 16, 2001, Pages 7183 - 7192.&lt;br /&gt;
#* Willmott, Cort J. (1981) &amp;quot;On the validation of models&amp;quot;. Physical Geography, Pages 184–194.&lt;br /&gt;
Just in case &#039;&#039;&#039;HDF error&#039;&#039;&#039; is detected during read of a data record, the program tries to reconstruct the wanted data set from adjacent (in time) records for the same variable. This type of repair works for time dependent variables only.&lt;br /&gt;
&lt;br /&gt;
|preprocessor=[[BOE2NC]], [[DATACONVERT]], [[NCAGGREGATE]], [[NCANALYSE]], [[NCCHUNKIE]], [[NCCUTOUT]], [[NCRCATMAT]], [[NetCDF Operators]], [[UNK]], [[UNTRIM2007]], [[UNTRIM2]]&lt;br /&gt;
|postprocessor=[[DAVIT]], [[NCAUTO]], [[NCCHUNKIE]], [[NCPOLO]], [[NCPLOT]], [[NCCUTOUT]], [[NC2TABLE]], [[NCVIEW2D]], [[PLOTTS]], [[TAYLORDIAGRAM]]&lt;br /&gt;
|language=Fortran95&lt;br /&gt;
|add_software=none &lt;br /&gt;
|contact_original=[mailto:guenther.lang@baw.de G. Lang], [mailto:susanne.spohr@baw.de S. Spohr]&lt;br /&gt;
|contact_maintenance=[mailto:guenther.lang@baw.de G. Lang], [mailto:susanne.spohr@baw.de S. Spohr]&lt;br /&gt;
|documentation=&lt;br /&gt;
* Presentations (available in German only):&lt;br /&gt;
** 2015-07-15: [http://ewisa.baw.de/files/12835_tv12_2015_07_15_ncdelta_g_lang.pdf &#039;&#039;NCDELTA - Differenzen neu berechnet&#039;&#039;].&lt;br /&gt;
* Template Files:&lt;br /&gt;
** template files available in &#039;&#039;&#039;$PROGHOME/examples/ncdelta&#039;&#039;&#039;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rosenhagen</name></author>
	</entry>
	<entry>
		<id>http://wiki.baw.de/en/index.php?title=NCDELTA&amp;diff=14561</id>
		<title>NCDELTA</title>
		<link rel="alternate" type="text/html" href="http://wiki.baw.de/en/index.php?title=NCDELTA&amp;diff=14561"/>
		<updated>2021-09-06T07:52:57Z</updated>

		<summary type="html">&lt;p&gt;Rosenhagen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProgramDescription&lt;br /&gt;
|name_de=NCDELTA&lt;br /&gt;
|name=NCDELTA&lt;br /&gt;
|version=July 2020&lt;br /&gt;
|version_descr=July 2020&lt;br /&gt;
|catchwords=&lt;br /&gt;
postprocessor&amp;lt;br /&amp;gt;&lt;br /&gt;
differences of synoptic data (with optional restriction of time period)&amp;lt;br /&amp;gt;&lt;br /&gt;
differences of characteristic numbers&amp;lt;br /&amp;gt;&lt;br /&gt;
differences for extensive quantities&amp;lt;br /&amp;gt;&lt;br /&gt;
input data for Taylor diagram&amp;lt;br /&amp;gt;&lt;br /&gt;
median, percentiles (Q01, Q05, Q95, Q99)&amp;lt;br /&amp;gt;&lt;br /&gt;
skill score according to Murphy (1988) equation 4&amp;lt;br /&amp;gt;&lt;br /&gt;
skill score according to Taylor (2001) equations 4 and 5&amp;lt;br /&amp;gt;&lt;br /&gt;
skill score according to Willmott (1981) Index of agreement (d)&amp;lt;br /&amp;gt;&lt;br /&gt;
parallelization using [http://openmp.org/wp/ OpenMP]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[NetCDF#Quality assurance using NetCDF attributes|automatic quality assurance (value range)]]&amp;lt;br /&amp;gt;&lt;br /&gt;
automatic adjustment of number of READ data to chunk size of data&amp;lt;br /&amp;gt;&lt;br /&gt;
automatic setting of WRITE chunk sizes for written variables&amp;lt;br /&amp;gt; &lt;br /&gt;
Storage of the content of the ASCII input control files in [[CF-NETCDF.NC|netcdf.nc]] (as a variable)&amp;lt;br /&amp;gt;&lt;br /&gt;
Storage of [https://en.wikipedia.org/wiki/MD5 MD5 hash values] ​​of input files in [[CF-NETCDF.NC|netcdf.nc]] (as a variable)&amp;lt;br /&amp;gt;&lt;br /&gt;
optional use of &#039;&#039;Message Passing Interface&#039;&#039; (MPI, [https://www.mpi-forum.org/ MPI Forum])&lt;br /&gt;
&lt;br /&gt;
 Acknowledgment: &#039;&#039;This project took advantage of netCDF software developed by UCAR/Unidata ([http://www.unidata.ucar.edu/software/netcdf/ www.unidata.ucar.edu/software/netcdf/]).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|shortdescription=&lt;br /&gt;
Program computes differences for comparable variables (primary variable pairs) as well as additional statistical data derived from primary differences, but also data for Taylor diagrams (details see [[Differences of Calculated Results]]) can be computed for some types of data. Finding the primary variable pairs is done in an essentially automatical manner but can be altered to some extent by the user (see [[NCDELTA.DAT|ncdelta.dat]]). Primary differences are computed according to &#039;&#039;variant data&#039;&#039; &#039;&#039;&#039;minus&#039;&#039;&#039; &#039;&#039;reference data&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Requirements for time-dependent primary variable pairs with individual constant time step:&lt;br /&gt;
# both data sets may contain a &#039;&#039;different&#039;&#039; number of data items (time steps), but the length of the time period to be compared must be identical, whereas the periods to be compared may differ ;&lt;br /&gt;
# constant time step for each data set may differ from each other, but the larger time step must an integer multiple of the smaller one.&lt;br /&gt;
&lt;br /&gt;
Requirements for time-dependent primary variable pairs with variable time step:&lt;br /&gt;
# both data sets must contain an &#039;&#039;identical&#039;&#039; number of data items (time steps), with periods allowed to be different.&lt;br /&gt;
&lt;br /&gt;
Remarks concerning the spatial location of data:&lt;br /&gt;
# data sets may differ with respect to their geographical location;&lt;br /&gt;
# areas for which data are defined must overlap to some degree;&lt;br /&gt;
# coordinates may be given in different coordinate systems, e. g. Gauß-Krüger and UTM;&lt;br /&gt;
# data for a location are compared with data for the nearest lying location, as far as the distance between the different locations does not exceed a prescribed maximum (see [[NCDELTA.DAT|ncdelta.dat]]). &lt;br /&gt;
&lt;br /&gt;
Remarks concerning the comparison of extensive variables:&lt;br /&gt;
# for extensive variables the respective sizes of the computational cells (area, length) are taken into account.&lt;br /&gt;
&lt;br /&gt;
|inputfiles=&lt;br /&gt;
# &#039;&#039;&#039;general input data&#039;&#039;&#039; (file type [[NCDELTA.DAT|ncdelta.dat]]);&lt;br /&gt;
# &#039;&#039;&#039;reference data&#039;&#039;&#039; (file type [[CF-NETCDF.NC]]);&lt;br /&gt;
# &#039;&#039;&#039;variant data&#039;&#039;&#039; (file type [[CF-NETCDF.NC]]);&lt;br /&gt;
# for [[NetCDF#Automatic quality assurance using NetCDF attributes|automatic quality assurance]] (file type [[BOUNDS.CFG.DAT|bounds_verify.dat]]).&lt;br /&gt;
&lt;br /&gt;
|outputfiles=  &lt;br /&gt;
# &#039;&#039;&#039;results&#039;&#039;&#039; (file type [[CF-NETCDF.NC]])&lt;br /&gt;
# (optional) informative &#039;&#039;&#039;printer file&#039;&#039;&#039; of program execution (file type ncdelta.sdr)&lt;br /&gt;
# (optional) &#039;&#039;&#039;trace&#039;&#039;&#039; of program execution (file type ncdelta.trc)&lt;br /&gt;
&lt;br /&gt;
|methodology=&lt;br /&gt;
The program is subdivided into the following sections:&lt;br /&gt;
# read, check and print steering data prescribed by the user;&lt;br /&gt;
# read metadata for &#039;&#039;reference data&#039;&#039;;&lt;br /&gt;
# read metadata for &#039;&#039;variant data&#039;&#039;;&lt;br /&gt;
# copy metadata for reference as well as variant data to program specific data structures;&lt;br /&gt;
# compare metadata for substantial discrepancies (e. g. reference locations) between data sets;&lt;br /&gt;
# classify all reference as well as variant data;&lt;br /&gt;
# find primary variable pairs: each variant variable has one partner reference variable; primary computational results will be later derived from primary variable pairs;&lt;br /&gt;
# derive variables to be copied from reference as well as variant data file into the result file;&lt;br /&gt;
# compute interpolation matrices required for interpolation between reference data locations and variant data locations;&lt;br /&gt;
# create all metadata for the result file; essentially they stem from variables to be copied, from primary result variables, newly generated coordinate variables (time, vertical), as well as newly derived or to be copied measure and auxiliary variables;&lt;br /&gt;
# copy selceted variables from reference as well as variant file to the result file;&lt;br /&gt;
# compute all primary variables, (new) time and vertical coordinate variables, as well as weights and auxiliary variables.  For primary variables optionally available axiliary variables with &#039;&#039;standard_name&#039;&#039; modifier &#039;&#039;status_flag&#039;&#039; are taken into account in case meaning &#039;&#039;good&#039;&#039; is represented by an appropriate flag (bit).&lt;br /&gt;
# with respect of the different skill scores used and computed by the program - references:&lt;br /&gt;
#*  Murphy, Allan H. (1988) &amp;quot;Skill Scores Based on the Mean Square Error and Their Relationship to the Correlation Coefficient&amp;quot;. Monthly Weather Review, Dec. 1988, Pages 2417 - 2424.&lt;br /&gt;
#* Taylor, Karl E. (2001) &amp;quot;Summarizing multiple aspects of model performance in a single diagram&amp;quot;. Journal of Geophysical Research, Vol 106, No. D7, April 16, 2001, Pages 7183 - 7192.&lt;br /&gt;
#* Willmott, Cort J. (1981) &amp;quot;On the validation of models&amp;quot;. Physical Geography, Pages 184–194.&lt;br /&gt;
Just in case &#039;&#039;&#039;HDF error&#039;&#039;&#039; is detected during read of a data record, the program tries to reconstruct the wanted data set from adjacent (in time) records for the same variable. This type of repair works for time dependent variables only.&lt;br /&gt;
&lt;br /&gt;
|preprocessor=[[BOE2NC]], [[DATACONVERT]], [[NCAGGREGATE]], [[NCANALYSE]], [[NCCHUNKIE]], [[NCCUTOUT]], [[NCRCATMAT]], [[NetCDF Operators]], [[UNK]], [[UNTRIM2007]], [[UNTRIM2]]&lt;br /&gt;
|postprocessor=[[DAVIT]], [[NCAUTO]], [[NCCHUNKIE]], [[NCPOLO]], [[NCPLOT]], [[NCCUTOUT]], [[NC2TABLE]], [[NCVIEW2D]], [[PLOTTS]], [[TAYLORDIAGRAM]]&lt;br /&gt;
|language=Fortran95&lt;br /&gt;
|add_software=none &lt;br /&gt;
|contact_original=[mailto:guenther.lang@baw.de G. Lang], [mailto:susanne.spohr@baw.de S. Spohr]&lt;br /&gt;
|contact_maintenance=[mailto:guenther.lang@baw.de G. Lang], [mailto:susanne.spohr@baw.de S. Spohr]&lt;br /&gt;
|documentation=&lt;br /&gt;
* Presentations (available in German only):&lt;br /&gt;
** 2015-07-15: [http://ewisa.baw.de/files/12835_tv12_2015_07_15_ncdelta_g_lang.pdf &#039;&#039;NCDELTA - Differenzen neu berechnet&#039;&#039;].&lt;br /&gt;
* Template Files:&lt;br /&gt;
** template files available in &#039;&#039;&#039;$PROGHOME/examples/ncdelta&#039;&#039;&#039;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rosenhagen</name></author>
	</entry>
</feed>