<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.opendap.org/index.php?action=history&amp;feed=atom&amp;title=JoinNew_Explicit_Dataset_Tutorial</id>
	<title>JoinNew Explicit Dataset Tutorial - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://docs.opendap.org/index.php?action=history&amp;feed=atom&amp;title=JoinNew_Explicit_Dataset_Tutorial"/>
	<link rel="alternate" type="text/html" href="https://docs.opendap.org/index.php?title=JoinNew_Explicit_Dataset_Tutorial&amp;action=history"/>
	<updated>2026-04-19T01:33:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://docs.opendap.org/index.php?title=JoinNew_Explicit_Dataset_Tutorial&amp;diff=5920&amp;oldid=prev</id>
		<title>Jimg: /* Autogenerated Uniform Numeric Values */</title>
		<link rel="alternate" type="text/html" href="https://docs.opendap.org/index.php?title=JoinNew_Explicit_Dataset_Tutorial&amp;diff=5920&amp;oldid=prev"/>
		<updated>2010-11-04T17:35:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Autogenerated Uniform Numeric Values&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:35, 4 November 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l205&quot;&gt;Line 205:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 205:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;!-- Explicit coordinate variable definition --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;!-- Explicit coordinate variable definition --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;variable name=&amp;quot;day&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;day&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;variable name=&amp;quot;day&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;day&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;attribute name=&amp;quot;units&amp;quot; type=&amp;quot;string&amp;quot; value=&amp;quot;days since 2000-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1&lt;/del&gt;-01 00:00&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;attribute name=&amp;quot;units&amp;quot; type=&amp;quot;string&amp;quot; value=&amp;quot;days since 2000-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;01&lt;/ins&gt;-01 00:00&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;!-- We sample once a week... --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;!-- We sample once a week... --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;values start=&amp;quot;1&amp;quot; increment=&amp;quot;7&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;values start=&amp;quot;1&amp;quot; increment=&amp;quot;7&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jimg</name></author>
	</entry>
	<entry>
		<id>https://docs.opendap.org/index.php?title=JoinNew_Explicit_Dataset_Tutorial&amp;diff=5589&amp;oldid=prev</id>
		<title>Mjohnson: /* Default Values for the New Coordinate Variable (on a Grid) */</title>
		<link rel="alternate" type="text/html" href="https://docs.opendap.org/index.php?title=JoinNew_Explicit_Dataset_Tutorial&amp;diff=5589&amp;oldid=prev"/>
		<updated>2010-04-20T19:30:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Default Values for the New Coordinate Variable (on a Grid)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:30, 20 April 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Default Values for the New Coordinate Variable (on a Grid) ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Default Values for the New Coordinate Variable (on a Grid) ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Aggregation]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Aggregation]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:NCML]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The default for the new coordinate variable is to be of type String with the location of the dataset as the value.  For example, the following NcML file:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The default for the new coordinate variable is to be of type String with the location of the dataset as the value.  For example, the following NcML file:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mjohnson</name></author>
	</entry>
	<entry>
		<id>https://docs.opendap.org/index.php?title=JoinNew_Explicit_Dataset_Tutorial&amp;diff=5576&amp;oldid=prev</id>
		<title>Mjohnson: New page: === Default Values for the New Coordinate Variable (on a Grid) === Category:Aggregation  The default for the new coordinate variable is to be of type String with the location of the da...</title>
		<link rel="alternate" type="text/html" href="https://docs.opendap.org/index.php?title=JoinNew_Explicit_Dataset_Tutorial&amp;diff=5576&amp;oldid=prev"/>
		<updated>2010-04-20T19:01:53Z</updated>

		<summary type="html">&lt;p&gt;New page: === Default Values for the New Coordinate Variable (on a Grid) === &lt;a href=&quot;/index.php?title=Category:Aggregation&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:Aggregation (page does not exist)&quot;&gt;Category:Aggregation&lt;/a&gt;  The default for the new coordinate variable is to be of type String with the location of the da...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Default Values for the New Coordinate Variable (on a Grid) ===&lt;br /&gt;
[[Category:Aggregation]]&lt;br /&gt;
&lt;br /&gt;
The default for the new coordinate variable is to be of type String with the location of the dataset as the value.  For example, the following NcML file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;netcdf title=&amp;quot;Simple test of joinNew Grid aggregation&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;aggregation type=&amp;quot;joinNew&amp;quot; dimName=&amp;quot;filename&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;dsp_band_1&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97182070958.hdf&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97182183448.hdf&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97183065853.hdf&amp;quot;/&amp;gt;  &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97183182355.hdf&amp;quot;/&amp;gt; &lt;br /&gt;
  &amp;lt;/aggregation&amp;gt; &lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
specifies an aggregation on a Grid variable &amp;#039;&amp;#039;&amp;#039;dsp_band_1&amp;#039;&amp;#039;&amp;#039; sampled in four HDF4 datasets listed explicitly.&lt;br /&gt;
&lt;br /&gt;
First, the data structure (DDS) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dataset {&lt;br /&gt;
    Grid {&lt;br /&gt;
      Array:&lt;br /&gt;
        UInt32 dsp_band_1[filename = 4][lat = 1024][lon = 1024];&lt;br /&gt;
      Maps:&lt;br /&gt;
        String filename[filename = 4];&lt;br /&gt;
        Float64 lat[1024];&lt;br /&gt;
        Float64 lon[1024];&lt;br /&gt;
    } dsp_band_1;&lt;br /&gt;
    String filename[filename = 4];&lt;br /&gt;
} joinNew_grid.ncml;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We see the aggregated variable &amp;#039;&amp;#039;&amp;#039;dsp_band_1&amp;#039;&amp;#039;&amp;#039; has the new outer dimension &amp;#039;&amp;#039;filename&amp;#039;&amp;#039;.  A coordinate variable &amp;#039;&amp;#039;filename[filename]&amp;#039; was created as a sibling of the aggregated variable (the top level Grid we specified) and was also copied into the aggregated Grid as a new map vector.&lt;br /&gt;
&lt;br /&gt;
The ASCII data response for just the new coordinate variable &amp;#039;&amp;#039;filename[filename]&amp;#039;&amp;#039; is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
String filename[filename = 4] = {&amp;quot;data/ncml/agg/grids/f97182070958.hdf&amp;quot;, &lt;br /&gt;
&amp;quot;data/ncml/agg/grids/f97182183448.hdf&amp;quot;, &lt;br /&gt;
&amp;quot;data/ncml/agg/grids/f97183065853.hdf&amp;quot;, &lt;br /&gt;
&amp;quot;data/ncml/agg/grids/f97183182355.hdf&amp;quot;};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We see that the absolute location we specified for the dataset as a String is the value for each element of the new coordinate variable.&lt;br /&gt;
&lt;br /&gt;
The newly added map &amp;#039;&amp;#039;&amp;#039;dsp_band_1.filename&amp;#039;&amp;#039;&amp;#039; contains a copy of this data.&lt;br /&gt;
&lt;br /&gt;
=== Explicitly Specifying the New Coordinate Variable ===&lt;br /&gt;
&lt;br /&gt;
If the author wishes to have the new coordinate variable be of a specific data type with non-uniform values, then they must specify the new coordinate variable explicitly.&lt;br /&gt;
&lt;br /&gt;
==== Array Virtual Dataset ====&lt;br /&gt;
Here&amp;#039;s an example using a contrived pure virtual dataset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;netcdf title=&amp;quot;JoinNew on Array with Explicit Map&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- joinNew and form new outer dimension &amp;quot;day&amp;quot; --&amp;gt;&lt;br /&gt;
  &amp;lt;aggregation type=&amp;quot;joinNew&amp;quot; dimName=&amp;quot;day&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Slice 1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;dimension name=&amp;quot;sensors&amp;quot; length=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;V&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;sensors&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;values&amp;gt;1 2 3&amp;lt;/values&amp;gt;&lt;br /&gt;
      &amp;lt;/variable&amp;gt;&lt;br /&gt;
    &amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Slice 2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;dimension name=&amp;quot;sensors&amp;quot; length=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;V&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;sensors&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;values&amp;gt;4 5 6&amp;lt;/values&amp;gt;&lt;br /&gt;
      &amp;lt;/variable&amp;gt;&lt;br /&gt;
    &amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/aggregation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- This is recognized as the definition of the new coordinate variable, &lt;br /&gt;
       since it has the form day[day] where day is the dimName for the aggregation. &lt;br /&gt;
       It MUST be specified after the aggregation, so that the dimension size of day&lt;br /&gt;
      has been calculated.&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
  &amp;lt;variable name=&amp;quot;day&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;day&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Note: metadata may be added here as normal! --&amp;gt;&lt;br /&gt;
    &amp;lt;attribute name=&amp;quot;units&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;Days since 01/01/2010&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;values&amp;gt;1 30&amp;lt;/values&amp;gt;&lt;br /&gt;
  &amp;lt;/variable&amp;gt;&lt;br /&gt;
	     &lt;br /&gt;
&amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resulting DDS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dataset {&lt;br /&gt;
    Int32 V[day = 2][sensors = 3];&lt;br /&gt;
    Int32 day[day = 2];&lt;br /&gt;
} joinNew_with_explicit_map.ncml;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the ASCII data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Int32 V[day = 2][sensors = 3] = {{1, 2, 3},{4, 5, 6}};&lt;br /&gt;
Int32 day[day = 2] = {1, 30};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the values we have explicitly given are used here as well as the specified NcML type, &amp;#039;&amp;#039;int&amp;#039;&amp;#039; which is mapped to a DAP Int32.  &lt;br /&gt;
&lt;br /&gt;
If metadata is desired on the new coordinate variable, it may be added just as in a normal new variable declaration.  We&amp;#039;ll give more examples of this later.&lt;br /&gt;
&lt;br /&gt;
==== Grid with Explicit Map ====&lt;br /&gt;
&lt;br /&gt;
Let&amp;#039;s give one more example using a Grid to demonstrate the recognition of the coordinate variable as it is added to the Grid as the map vector for the new dimension:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;netcdf title=&amp;quot;joinNew Grid aggregation with explicit map&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;aggregation type=&amp;quot;joinNew&amp;quot; dimName=&amp;quot;sample_time&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;dsp_band_1&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97182070958.hdf&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97182183448.hdf&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97183065853.hdf&amp;quot;/&amp;gt;  &lt;br /&gt;
    &amp;lt;netcdf location=&amp;quot;data/ncml/agg/grids/f97183182355.hdf&amp;quot;/&amp;gt; &lt;br /&gt;
  &amp;lt;/aggregation&amp;gt; &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- Note: values are contrived --&amp;gt;&lt;br /&gt;
  &amp;lt;variable name=&amp;quot;sample_time&amp;quot; shape=&amp;quot;sample_time&amp;quot; type=&amp;quot;float&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Metadata here will also show up in the Grid map --&amp;gt;&lt;br /&gt;
    &amp;lt;attribute name=&amp;quot;units&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;Days since 01/01/2010&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;values&amp;gt;100 200 400 1000&amp;lt;/values&amp;gt;&lt;br /&gt;
  &amp;lt;/variable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This produces the DDS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dataset {&lt;br /&gt;
    Grid {&lt;br /&gt;
      Array:&lt;br /&gt;
        UInt32 dsp_band_1[sample_time = 4][lat = 1024][lon = 1024];&lt;br /&gt;
      Maps:&lt;br /&gt;
        Float32 sample_time[sample_time = 4];&lt;br /&gt;
        Float64 lat[1024];&lt;br /&gt;
        Float64 lon[1024];&lt;br /&gt;
    } dsp_band_1;&lt;br /&gt;
    Float32 sample_time[sample_time = 4];&lt;br /&gt;
} joinNew_grid_explicit_map.ncml;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the explicit coordinate variable &amp;#039;&amp;#039;&amp;#039;sample_time&amp;#039;&amp;#039;&amp;#039; was found as the sibling of the aggregated Grid as was added as the new map vector for the Grid.&lt;br /&gt;
&lt;br /&gt;
The values for the projected coordinate variables are as expected:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Float32 sample_time[sample_time = 4] = {100, 200, 400, 1000};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
It is a Parse Error to:&lt;br /&gt;
&lt;br /&gt;
* Give a different number of values for the explicit coordinate variable than their are specified datasets&lt;br /&gt;
* Specify the new coordinate variable prior to the &amp;lt;aggregation&amp;gt; element since the dimension size is not yet known&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Autogenerated Uniform Numeric Values ===&lt;br /&gt;
&lt;br /&gt;
If the number of datasets might vary (for example, if a &amp;lt;scan&amp;gt; element, described later, is used), but the values are uniform, the start/increment version of the &amp;lt;values&amp;gt; element may be used to generate the values for the new coordinate variable.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;netcdf title=&amp;quot;JoinNew on Array with Explicit Autogenerated Map&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;aggregation type=&amp;quot;joinNew&amp;quot; dimName=&amp;quot;day&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Slice 1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;dimension name=&amp;quot;sensors&amp;quot; length=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;V&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;sensors&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;values&amp;gt;1 2 3&amp;lt;/values&amp;gt;&lt;br /&gt;
      &amp;lt;/variable&amp;gt;&lt;br /&gt;
    &amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Slice 2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;dimension name=&amp;quot;sensors&amp;quot; length=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;V&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;sensors&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;values&amp;gt;4 5 6&amp;lt;/values&amp;gt;&lt;br /&gt;
      &amp;lt;/variable&amp;gt;&lt;br /&gt;
    &amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/aggregation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Explicit coordinate variable definition --&amp;gt;&lt;br /&gt;
  &amp;lt;variable name=&amp;quot;day&amp;quot; type=&amp;quot;int&amp;quot; shape=&amp;quot;day&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;attribute name=&amp;quot;units&amp;quot; type=&amp;quot;string&amp;quot; value=&amp;quot;days since 2000-1-01 00:00&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- We sample once a week... --&amp;gt;&lt;br /&gt;
    &amp;lt;values start=&amp;quot;1&amp;quot; increment=&amp;quot;7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/variable&amp;gt;&lt;br /&gt;
	     &lt;br /&gt;
&amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DDS is the same as before and the coordinate variable is generated as expected:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Int32 sample_time[sample_time = 4] = {1, 8, 15, 22};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this form is useful for uniform sampled datasets (or if only a numeric index is desired) where the variable need not be changed as datasets are added.  It is especially useful for a &amp;lt;scan&amp;gt; element that refers to a dynamic number of files that can be described with a uniformly varying index.&lt;br /&gt;
&lt;br /&gt;
=== Explicitly Using coordValue Attribute of &amp;lt;netcdf&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;netcdf@coordValue&amp;#039;&amp;#039; may be used to specify the value for the given dataset right where the dataset is declared.  This attribute will cause a coordinate variable to be automatically generated with the given values for each dataset filled in.  The new coordinate variable will be of type &amp;#039;&amp;#039;&amp;#039;double&amp;#039;&amp;#039;&amp;#039; if the coordValue&amp;#039;s can all be parsed as a number, otherwise they will be of type &amp;#039;&amp;#039;&amp;#039;String&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== String coordValue Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;netcdf title=&amp;quot;joinNew Aggregation with explicit string coordValue&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;aggregation type=&amp;quot;joinNew&amp;quot; dimName=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;u&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;v&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Same dataset a few times, but with different coordVal --&amp;gt;&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Dataset 1&amp;quot; location=&amp;quot;data/ncml/fnoc1.nc&amp;quot; coordValue=&amp;quot;Station_1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Dataset 2&amp;quot; location=&amp;quot;data/ncml/fnoc1.nc&amp;quot; coordValue=&amp;quot;Station_2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Dataset 3&amp;quot; location=&amp;quot;data/ncml/fnoc1.nc&amp;quot; coordValue=&amp;quot;Station_3&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/aggregation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the following DDS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dataset {&lt;br /&gt;
    Int16 u[source = 3][time_a = 16][lat = 17][lon = 21];&lt;br /&gt;
    Int16 v[source = 3][time_a = 16][lat = 17][lon = 21];&lt;br /&gt;
    Float32 lat[lat = 17];&lt;br /&gt;
    Float32 lon[lon = 21];&lt;br /&gt;
    Float32 time[time = 16];&lt;br /&gt;
    String source[source = 3];&lt;br /&gt;
} joinNew_string_coordVal.ncml;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and ASCII data response of the projected coordinate variable is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
String source[source = 3] = {&amp;quot;Station_1&amp;quot;, &amp;quot;Station_2&amp;quot;, &amp;quot;Station_3&amp;quot;};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as we specified.&lt;br /&gt;
&lt;br /&gt;
==== Numeric (double) Use of coordValue ====&lt;br /&gt;
&lt;br /&gt;
If the first &amp;#039;&amp;#039;coordValue&amp;#039;&amp;#039; can be successfully parsed as a double numeric type, then a coordinate variable of type double (Float64) is created and all remaining &amp;#039;&amp;#039;coordValue&amp;#039;&amp;#039; specifications &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be parsable as a double or a Parse Error is thrown.&lt;br /&gt;
&lt;br /&gt;
Using the same example but with numbers instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;netcdf title=&amp;quot;joinNew Aggregation with numeric coordValue&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;aggregation type=&amp;quot;joinNew&amp;quot; dimName=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;u&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;variableAgg name=&amp;quot;v&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Same dataset a few times, but with different coordVal --&amp;gt;&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Dataset 1&amp;quot; location=&amp;quot;data/ncml/fnoc1.nc&amp;quot; coordValue=&amp;quot;1.2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Dataset 2&amp;quot; location=&amp;quot;data/ncml/fnoc1.nc&amp;quot; coordValue=&amp;quot;3.4&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;netcdf title=&amp;quot;Dataset 3&amp;quot; location=&amp;quot;data/ncml/fnoc1.nc&amp;quot; coordValue=&amp;quot;5.6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/aggregation&amp;gt;&lt;br /&gt;
&amp;lt;/netcdf&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This time we see that a Float64 array is created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dataset {&lt;br /&gt;
    Int16 u[source = 3][time_a = 16][lat = 17][lon = 21];&lt;br /&gt;
    Int16 v[source = 3][time_a = 16][lat = 17][lon = 21];&lt;br /&gt;
    Float32 lat[lat = 17];&lt;br /&gt;
    Float32 lon[lon = 21];&lt;br /&gt;
    Float32 time[time = 16];&lt;br /&gt;
    Float64 source[source = 3];&lt;br /&gt;
} joinNew_numeric_coordValue.ncml;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The values we specified are in the coordinate variable ASCII data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Float64 source[source = 3] = {1.2, 3.4, 5.6};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjohnson</name></author>
	</entry>
</feed>