Hi,I have had similiar problem. Try the following trick.
var_NC[:,:]= list(foo[:,:])
-- ÔÚ2008-09-11£¬"David Brown" <dbrown_at_ucar.edu> дµÀ£º Hi Zach, Your 'foo' variable is created using the default NumPy float type, float64, which is a 'double' in NetCDF and PyNIO. On the other hand you create 'var_NC' as type 'f' which is a NetCDF 'float', equivalent to float32 in NumPy. Make the var_NC type 'd', or make foo into a float32. There seems to be some type conversion going on when single elements are assigned. I am not quite sure what is up with that. I think the loop code in the script should not work either. I will investigate. -dave On Sep 10, 2008, at 3:47 PM, Zach DuFran wrote: I am trying to assign values from a 2-d array of floats to a netcdf variable of the same dimensions and dimension size. Whenever I try to do the assignment in one line, I get the following error: NIOError: type or dimensional mismatch writing to variable (foo_bar) Traceback (most recent call last): File "reassign.py¡±, line 33, in <module> var_NC[:,:] = foo[:,:] SystemError: error return without exception set However, if I assign the data inside 2 loops, it works (albeit very slowly for large arrays). The attached script illustrates the problem, as well as the alternative method which works. Why won¡¯t the quicker method of one line assignment work? I am running Python v. 2.5.2 and PyNgl v. 1.2.0 on Linux i686. Thanks for the help- Zach DuFran <reassign.py> _______________________________________________ pyngl-talk mailing list pyngl-talk_at_ucar.edu http://mailman.ucar.edu/mailman/listinfo/pyngl-talk
_______________________________________________
pyngl-talk mailing list
pyngl-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/pyngl-talk
Received on Wed Sep 10 2008 - 17:48:53 MDT
This archive was generated by hypermail 2.2.0 : Wed Oct 01 2008 - 09:47:33 MDT