Index: wflow-py/wflow/wf_DynamicFramework.py =================================================================== diff -u -rb4fd8a698283e62ac1c8624375925fd23a92b924 -r955e9f7a3dab65cc1cf313047c218ca20da32ee7 --- wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision b4fd8a698283e62ac1c8624375925fd23a92b924) +++ wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision 955e9f7a3dab65cc1cf313047c218ca20da32ee7) @@ -57,16 +57,20 @@ class netcdfinput(): - def __init__(self,netcdffile,logging,vars=[],readinmem=True): + def __init__(self,netcdffile,logging,vars=[]): """ First try to setup a class read netcdf files (converted with pcr2netcdf.py) + + netcdffile: file to read the forcing data from + logging: python logging object + vars: list of variables to get from file """ self.dataset = netCDF4.Dataset(netcdffile,mode='r') logging.info("Reading input from netCDF file: " + netcdffile + ": " + str(self.dataset).replace('\n',' ')) self.alldat ={} a = pcr2numpy(cover(0.0),0.0).flatten() - # Determine steps in mem based on memory usage + # Determine steps to load in mem based on estimated memory usage floatspermb = 1048576/4 maxmb = 4000 self.maxsteps = maxmb * len(a)/floatspermb + 1 @@ -75,10 +79,15 @@ for var in vars: self.alldat[var] = self.dataset.variables[var][self.fstep:self.maxsteps] - #self.alldat['PET'] = self.dataset.variables[petvar][self.fstep:self.maxsteps] - #self.alldat['TEMP'] = self.dataset.variables[tempvar][self.fstep:self.maxsteps] def gettimestep(self,timestep,logging,var='P'): + """ + Gets a map for a single timestep. reads data in blocks assuming sequential access + + timestep: framework timestep (1-based) + logging: python logging object + var: variable to get from the file + """ ncindex = timestep -1 if self.alldat.has_key(var): if ncindex == self.lstep: # Read new block of data in mem