<div dir="ltr">The error message says &quot;type or dimensional mismatch&quot; and in this case it&#39;s a type mismatch. This is an easy thing to forget and a cause of much wasted effort. The typecode &#39;f&#39; specifies a 32 bit float, but in Python (not just numpy) a float is 64 bits, equivalent to the typecode &#39;d&#39;.<div>
Maybe in the future we can have separate messages for type and dimensional mismatches. <br><div>Here is a script that does what you want:</div><div><br></div><div><div>import Nio</div><div>import numpy as np</div><div>import os</div>
<div>os.system(&#39;rm -f <a href="http://test.nc">test.nc</a>&#39;)</div><div>ofile = &#39;<a href="http://test.nc">test.nc</a>&#39;</div><div>outfile = Nio.open_file(ofile, &#39;w&#39;)</div><div>outfile.create_dimension(&#39;time&#39;,None)</div>
<div>outfile.create_dimension(&#39;lat&#39;, 50)</div><div>outfile.create_dimension(&#39;lon&#39;,50)</div><div>v = outfile.create_variable(&#39;tvar&#39;,&#39;f&#39;,(&#39;time&#39;,&#39;lat&#39;,&#39;lon&#39;))</div><div>
v[0,:,:] =  np.ones( (50,50), dtype = &#39;float32&#39;)</div><div># but you only really need to specify the leftmost dimension</div><div>v[1] =  np.ones( (50,50), dtype = &#39;float32&#39;)     </div><div>outfile.close()</div>
</div><div><br></div><div> -dave</div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 3, 2014 at 12:06 PM, whannah <span dir="ltr">&lt;<a href="mailto:whannah@rsmas.miami.edu" target="_blank">whannah@rsmas.miami.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  

    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    I&#39;m trying to develop some code that will write new data to a file
    once a day. The &quot;time&quot; dimension is unlimited.<br>
    <br>
    Here are some snippets of code that I thought should work<br>
    <blockquote><tt>outfile = nio.open_file(ofile, &quot;w&quot;)</tt><tt><br>
      </tt><tt>fvar = outfile.create_variable(&#39;test&#39;, &#39;f&#39;,
        (&#39;time&#39;,&#39;lat&#39;,&#39;lon&#39;))</tt><tt><br>
      </tt><tt><br>
      </tt><tt>fvar[0,:,:] = np.ones( (nlat,nlon) , dtype=float )</tt></blockquote>
    The last line throws this error:<br>
    <blockquote><tt>NIOError: type or dimensional mismatch writing to
        variable (test)</tt><br>
    </blockquote>
    if I use a constant value<br>
    <blockquote><tt>fvar[0,:,:] = 1.</tt></blockquote>
    or I don&#39;t specify the indices of &quot;fvar&quot;:<br>
    <blockquote><tt>fvar = np.ones( (nlat,nlon) , dtype=float )</tt></blockquote>
    I don&#39;t have any problems. But I really need to specify the time
    index. How do I write different numpy arrays to <tt>fvar[0,:,:]</tt>
    and <tt>fvar[1,:,:]</tt>?<br>
    <br>
    <br>
    thanks,<br>
    Walter<br>
  </div>

<br>_______________________________________________<br>
pyngl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/pyngl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/pyngl-talk</a><br>
<br></blockquote></div><br></div>