John -- I simplified and ported your test to my netcdf/python module that
doesn't tie into Numeric the way that Konrad Hinsen's does. I just filled
with a constant value.
When run, I get a flat load time of < 0.01 sec/10 interations.
--Bill Noon
Northeast Regional Climate Center
Cornell University
import nc
from time import clock
cdf = nc.create('garbage.nc',nc.CLOBBER)
dims = [10,50,23,15,125]
for i in range(len(dims)) :
cdf.def_dim('x%d'%i, dims[i])
cdf.def_dim('time',nc.UNLIMITED)
vardims = [
('time','x1','x2'),
('time',)
]
for i in range(len(vardims)) :
cdf.def_var('y%d'%i, nc.FLOAT, vardims[i])
cdf.endef()
y0 = cdf.var('y0')
y1 = cdf.var('y1')
time = 0
c = clock()
d = [[1.1,]*23,]*50
for time in range(1000) :
y0[time] = d
y1[time] = 2.2
if time % 10 == 0 :
new_c = clock()
print new_c - c
c = new_c