def __init__(self, yearmon, basin, domain, uname): self.yearmon = yearmon self.uname = uname self.domain = domain self.varname = { 'wavhs': 'hs', 'wavtp': 'fp', 'wavdir': 'dir', 'wavspr': 'spr', 'wavhs_wndsea': 'phs_sea', 'wavtp_wndsea': 'ptp_sea', 'wavdir_wndsea': 'pdi_sea', 'wavhs_swell1': 'phs_sw1', 'wavtp_swell1': 'ptp_sw1', 'wavdir_swell1': 'pdi_sw1', 'wavhs_swell2': 'phs_sw2', 'wavtp_swell2': 'ptp_sw2', 'wavdir_swell2': 'pdi_sw2', 'wnd_u': 'wnd', 'wnd_v': 'wnd' } basinname = { 'pac': 'Pacific Ocean', 'atl': 'Atlantic Ocean', 'gom': 'Gulf of Mexico' } h5fn = 'wis_' + basin + '_' + domain + '_' + yearmon + '.h5' h5file = h5py.File(h5fn, 'w') # write_top_level_att(h5fname) for key in self.varname.keys(): tt, header, dataf = rfww3.read_fields_ww3('./', self.varname[key], key) if 'time' not in h5file.keys(): self.tt = tt self.time2date() dataset = h5file.create_dataset('time', (self.pytime.shape), dtype=('f8')) dataset[...] = self.pytime dataset.attrs[ 'Long Name'] = 'Time in Days since 0001-01-01 00:00:00' dataset.attrs['Units'] = 'day' dataset.attrs['Dimension'] = self.pytime.shape dataset = h5file.create_dataset('datetime', (self.dattime.shape), dtype=('i4')) dataset[...] = self.dattime dataset.attrs['Long Name'] = 'Time in yyyy,mm,dd,hh,mm,ss' dataset.attrs['Units'] = 'year,month,day,hour,minute,second' dataset.attrs['Dimension'] = self.dattime.shape self.longitude = header['lonw'], header['lone'] self.latitude = header['lats'], header['latn'] self.nlon = int(header['ilon']) self.nlat = int(header['jlat']) self.read_grid() dataset = h5file.create_dataset('grid', (self.grd.shape), dtype=('i4')) dataset[...] = self.grd dataset.attrs['Multiplication Factor'] = 0.001 dataset.attrs['Long Name'] = 'Water Depth Grid' dataset.attrs['Units'] = 'meter' dataset.attrs['Dimension'] = self.grd.shape dataset = h5file.create_dataset('mask', (self.mask.shape), dtype=('i4')) dataset[...] = self.mask dataset.attrs['Multiplication Factor'] = 1 dataset.attrs['Long Name'] = 'Land/Water Mask' dataset.attrs['Units'] = 'N/A' dataset.attrs['Dimension'] = self.mask.shape dataset = h5file.create_dataset('xobstr', (self.xobstr.shape), dtype=('i4')) dataset[...] = self.xobstr dataset.attrs['Multiplication Factor'] = 0.01 dataset.attrs['Long Name'] = 'Obstruction Grid X Direction' dataset.attrs['Units'] = 'N/A' dataset.attrs['Dimension'] = self.xobstr.shape dataset = h5file.create_dataset('yobstr', (self.yobstr.shape), dtype=('i4')) dataset[...] = self.yobstr dataset.attrs['Multiplication Factor'] = 0.01 dataset.attrs['Long Name'] = 'Obstruction Grid Y Direction' dataset.attrs['Units'] = 'N/A' dataset.attrs['Dimension'] = self.yobstr.shape dataset = h5file.create_dataset(key, (dataf.shape), dtype=('i4')) dataset[...] = dataf dataset.attrs['Dimension'] = dataf.shape dataset.attrs['Multiplication Factor'] = header['Mfac'] # dmax,dmean = max_mean(dataf) # dataset = h5file.create_dataset(key + '_max',(dmax.shape),dtype=('f4')) # dataset[...] = dmax # dataset = h5file.create_dataset(key + '_mean',(dmean.shape),dtype='f4')) wh5.create_field_var_att(h5file, self.varname.keys()) self.lon = np.arange(float(self.longitude[0]), float(self.longitude[1]) + self.dlon, self.dlon) self.lat = np.arange(float(self.latitude[0]), float(self.latitude[1]) + self.dlat, self.dlat) self.lon2 = np.linspace(float(self.longitude[0]), float(self.longitude[1]), num=self.nlon) self.lat2 = np.linspace(float(self.latitude[0]), float(self.latitude[1]), num=self.nlat) dataset = h5file.create_dataset('longitude', (self.lon2.shape), dtype=('f4')) dataset[...] = self.lon2 dataset.attrs['Units'] = 'decimal degree' dataset.attrs['Dimension'] = self.lon2.shape dataset = h5file.create_dataset('latitude', (self.lat2.shape), dtype=('f4')) dataset[...] = self.lat2 dataset.attrs['Units'] = 'decimal degree' dataset.attrs['Dimension'] = self.lat2.shape info = { 'longitude': self.longitude, 'latitude': self.latitude, 'uname': self.uname, 'nlon': self.nlon, 'nlat': self.nlat, 'domain': self.domain, 'basin': basinname[basin] } wh5.create_field_global_att(h5file, info) h5file.close()
def __init__(self,yearmon,basin,domain,uname): self.yearmon = yearmon self.uname = uname self.domain = domain self.varname = {'wavhs':'hs','wavtp':'fp','wavdir':'dir','wavspr':'spr','wavhs_wndsea':'phs_sea','wavtp_wndsea':'ptp_sea','wavdir_wndsea':'pdi_sea','wavhs_swell1':'phs_sw1','wavtp_swell1':'ptp_sw1','wavdir_swell1':'pdi_sw1','wavhs_swell2':'phs_sw2','wavtp_swell2':'ptp_sw2','wavdir_swell2':'pdi_sw2','wnd_u':'wnd','wnd_v':'wnd'} basinname = {'pac':'Pacific Ocean','atl':'Atlantic Ocean','gom':'Gulf of Mexico'} h5fn = 'wis_' + basin + '_' + domain + '_' + yearmon + '.h5' h5file = h5py.File(h5fn,'w') # write_top_level_att(h5fname) for key in self.varname.keys(): tt, header, dataf = rfww3.read_fields_ww3('./',self.varname[key],key) if 'time' not in h5file.keys(): self.tt = tt self.time2date() dataset = h5file.create_dataset('time',(self.pytime.shape),dtype=('f8')) dataset[...] = self.pytime dataset.attrs['Long Name'] = 'Time in Days since 0001-01-01 00:00:00' dataset.attrs['Units'] = 'day' dataset.attrs['Dimension'] = self.pytime.shape dataset = h5file.create_dataset('datetime',(self.dattime.shape),dtype=('i4')) dataset[...] = self.dattime dataset.attrs['Long Name'] = 'Time in yyyy,mm,dd,hh,mm,ss' dataset.attrs['Units'] = 'year,month,day,hour,minute,second' dataset.attrs['Dimension'] = self.dattime.shape self.longitude = header['lonw'], header['lone'] self.latitude = header['lats'], header['latn'] self.nlon = int(header['ilon']) self.nlat = int(header['jlat']) self.read_grid() dataset = h5file.create_dataset('grid',(self.grd.shape),dtype=('i4')) dataset[...] = self.grd dataset.attrs['Multiplication Factor'] = 0.001 dataset.attrs['Long Name'] = 'Water Depth Grid' dataset.attrs['Units'] = 'meter' dataset.attrs['Dimension'] = self.grd.shape dataset = h5file.create_dataset('mask',(self.mask.shape),dtype=('i4')) dataset[...] = self.mask dataset.attrs['Multiplication Factor'] = 1 dataset.attrs['Long Name'] = 'Land/Water Mask' dataset.attrs['Units'] = 'N/A' dataset.attrs['Dimension'] = self.mask.shape dataset = h5file.create_dataset('xobstr',(self.xobstr.shape),dtype=('i4')) dataset[...] = self.xobstr dataset.attrs['Multiplication Factor'] = 0.01 dataset.attrs['Long Name'] = 'Obstruction Grid X Direction' dataset.attrs['Units'] = 'N/A' dataset.attrs['Dimension'] = self.xobstr.shape dataset = h5file.create_dataset('yobstr',(self.yobstr.shape),dtype=('i4')) dataset[...] = self.yobstr dataset.attrs['Multiplication Factor'] = 0.01 dataset.attrs['Long Name'] = 'Obstruction Grid Y Direction' dataset.attrs['Units'] = 'N/A' dataset.attrs['Dimension'] = self.yobstr.shape dataset = h5file.create_dataset(key,(dataf.shape),dtype=('i4')) dataset[...] = dataf dataset.attrs['Dimension'] = dataf.shape dataset.attrs['Multiplication Factor'] = header['Mfac'] # dmax,dmean = max_mean(dataf) # dataset = h5file.create_dataset(key + '_max',(dmax.shape),dtype=('f4')) # dataset[...] = dmax # dataset = h5file.create_dataset(key + '_mean',(dmean.shape),dtype='f4')) wh5.create_field_var_att(h5file,self.varname.keys()) self.lon = np.arange(float(self.longitude[0]),float(self.longitude[1])+self.dlon,self.dlon) self.lat = np.arange(float(self.latitude[0]),float(self.latitude[1])+self.dlat,self.dlat) self.lon2 = np.linspace(float(self.longitude[0]),float(self.longitude[1]),num=self.nlon) self.lat2 = np.linspace(float(self.latitude[0]),float(self.latitude[1]),num=self.nlat) dataset = h5file.create_dataset('longitude',(self.lon2.shape),dtype=('f4')) dataset[...] = self.lon2 dataset.attrs['Units'] = 'decimal degree' dataset.attrs['Dimension'] = self.lon2.shape dataset = h5file.create_dataset('latitude',(self.lat2.shape),dtype=('f4')) dataset[...] = self.lat2 dataset.attrs['Units'] = 'decimal degree' dataset.attrs['Dimension'] = self.lat2.shape info = {'longitude':self.longitude,'latitude':self.latitude,'uname':self.uname,'nlon':self.nlon,'nlat':self.nlat,'domain':self.domain,'basin':basinname[basin]} wh5.create_field_global_att(h5file,info) h5file.close()
def __init__(self, yearmon, basin, domain): self.yearmon = yearmon self.domain = domain self.varname = { 'wavehs': 'hs', 'wavetp': 'fp', 'wavedir': 'dir', 'wavespr': 'spr', 'wavehs_wndsea': 'phs_sea', 'wavetp_wndsea': 'ptp_sea', 'wavedir_wndsea': 'pdi_sea', 'wavehs_swell1': 'phs_sw1', 'wavetp_swell1': 'ptp_sw1', 'wavedir_swell1': 'pdi_sw1', 'wavehs_swell2': 'phs_sw2', 'wavetp_swell2': 'ptp_sw2', 'wavedir_swell2': 'pdi_sw2', 'wind_u': 'wnd', 'wind_v': 'wnd' } mmset = [ 'wavehs', 'wavetp', 'wavehs_wndsea', 'wavetp_wndsea', 'wavehs_swell1', 'wavetp_swell1', 'wavehs_swell2', 'wavetp_swell2' ] basinname = { 'pac': 'Pacific Ocean', 'atl': 'Atlantic Ocean', 'gom': 'Gulf of Mexico' } ncfn = 'wis_' + basin + '_' + domain + '_' + yearmon + '.nc' mmfn = 'wis_' + basin + '_' + domain + '_' + yearmon + '_max_mean.nc' ncfile = Dataset(ncfn, 'w') mmfile = Dataset(mmfn, 'w') # write_top_level_att(h5fname) for key in self.varname.keys(): tt, header, dataf = rfww3.read_fields_ww3('./', self.varname[key], key) if 'time' not in ncfile.variables: self.tt = tt self.time2date() ncfile.createDimension('time', len(self.tt)) mmfile.createDimension('time', len(self.tt)) dataset = ncfile.createVariable('time', 'i8', ('time', )) dataset[:] = self.pytime dataset.long_name = 'Time' dataset.units = 'Seconds since 1970-01-01 00:00:00' dataset.dimension = self.pytime.shape ncfile.createDimension('date', 6) dataset = ncfile.createVariable('datetime', 'i4', ( 'time', 'date', )) dataset[:] = self.dattime dataset.long_name = 'Time in yyyy,mm,dd,hh,mm,ss' dataset.units = 'year,month,day,hour,minute,second' dataset.dimension = self.dattime.shape dataset = mmfile.createVariable('time', 'i8', ('time', )) dataset[:] = self.pytime dataset.long_name = 'Time' dataset.units = 'Seconds since 1970-01-01 00:00:00' dataset.dimension = self.pytime.shape mmfile.createDimension('date', 6) dataset = mmfile.createVariable('datetime', 'i4', ( 'time', 'date', )) dataset[:] = self.dattime dataset.long_name = 'Time in yyyy,mm,dd,hh,mm,ss' dataset.units = 'year,month,day,hour,minute,second' dataset.dimension = self.dattime.shape self.longitude = header['lonw'], header['lone'] self.latitude = header['lats'], header['latn'] self.nlon = int(header['ilon']) self.nlat = int(header['jlat']) self.read_grid() ncfile.createDimension('lon', self.nlon) ncfile.createDimension('lat', self.nlat) mmfile.createDimension('lon', self.nlon) mmfile.createDimension('lat', self.nlat) dataset = ncfile.createVariable('grid', 'i4', ( 'lat', 'lon', )) dataset[:] = self.grd dataset.mfactor = 0.001 dataset.long_name = 'Water Depth Grid' dataset.units = 'meter' dataset.dimension = self.grd.shape dataset = ncfile.createVariable('mask', 'i4', ( 'lat', 'lon', )) dataset[:] = self.mask dataset.mfactor = 1 dataset.long_name = 'Land/Water Mask' dataset.units = 'N/A' dataset.dimension = self.mask.shape dataset = ncfile.createVariable('xobstr', 'i4', ( 'lat', 'lon', )) dataset[:] = self.xobstr dataset.mfactor = 0.01 dataset.long_name = 'Obstruction Grid X Direction' dataset.units = 'N/A' dataset.dimension = self.xobstr.shape dataset = ncfile.createVariable('yobstr', 'i4', ( 'lat', 'lon', )) dataset[:] = self.yobstr dataset.mfactor = 0.01 dataset.long_name = 'Obstruction Grid Y Direction' dataset.units = 'N/A' dataset.dimension = self.yobstr.shape # self.lon = np.arange(float(self.longitude[0]),float(self.longitude[1])+self.dlon,self.dlon) # self.lat = np.arange(float(self.latitude[0]),float(self.latitude[1])+self.dlat,self.dlat) self.lon = np.linspace(float(self.longitude[0]), float(self.longitude[1]), num=self.nlon) self.lat = np.linspace(float(self.latitude[0]), float(self.latitude[1]), num=self.nlat) dataset = ncfile.createVariable('longitude', 'f4', ('lon', )) dataset[:] = self.lon dataset.units = 'decimal degree' dataset.dimension = self.lon.shape lonres = self.lon[1] - self.lon[0] dataset = ncfile.createVariable('latitude', 'f4', ('lat', )) dataset[:] = self.lat dataset.units = 'decimal degree' dataset.dimension = self.lat.shape latres = self.lat[1] - self.lat[0] dataset = mmfile.createVariable('longitude', 'f4', ('lon', )) dataset[:] = self.lon dataset.units = 'decimal degree' dataset.dimension = self.lon.shape lonres = self.lon[1] - self.lon[0] dataset = mmfile.createVariable('latitude', 'f4', ('lat', )) dataset[:] = self.lat dataset.units = 'decimal degree' dataset.dimension = self.lat.shape latres = self.lat[1] - self.lat[0] if key == 'wind_u': print dataf.shape self.wndu = np.array(dataf) * float(header['Mfac']) elif key == 'wind_v': print dataf.shape self.wndv = np.array(dataf) * float(header['Mfac']) dataset = ncfile.createVariable(key, 'i4', ( 'time', 'lat', 'lon', )) dataset[:] = dataf dataset.dimension = dataf.shape dataset.mfactor = header['Mfac'] longn, units = wnc.create_field_var_att(key) dataset.long_name = longn dataset.units = units if key in mmset: dmax, dmean = self.max_mean( np.array(dataf) * float(header['Mfac'])) dataset = mmfile.createVariable(key + '_max', 'f4', ( 'lat', 'lon', )) dataset[...] = dmax dataset = mmfile.createVariable(key + '_mean', 'f4', ( 'lat', 'lon', )) dataset[...] = dmean wndspd = self.calc_wndspd() # "*****Calculating Windspeed" dmax, dmean = self.max_mean(wndspd) dataset = mmfile.createVariable('windspd_max', 'f4', ( 'lat', 'lon', )) dataset[...] = dmax dataset = mmfile.createVariable('windspd_mean', 'f4', ( 'lat', 'lon', )) dataset[...] = dmean # wh5.create_field_var_att(h5file,self.varname.keys()) # self.lon = np.arange(float(self.longitude[0]),float(self.longitude[1])+self.dlon,self.dlon) # self.lat = np.arange(float(self.latitude[0]),float(self.latitude[1])+self.dlat,self.dlat) # self.lon = np.linspace(float(self.longitude[0]),float(self.longitude[1]),num=self.nlon) # self.lat = np.linspace(float(self.latitude[0]),float(self.latitude[1]),num=self.nlat) # dataset = ncfile.createVariable('longitude','f4',('lon',)) # dataset[:] = self.lon # dataset.units = 'decimal degree' # dataset.dimension = self.lon.shape # lonres = self.lon[1] - self.lon[0] # dataset = ncfile.createVariable('latitude','f4',('lat',)) # dataset[:] = self.lat # dataset.units = 'decimal degree' # dataset.dimension = self.lat.shape # latres = self.lat[1] - self.lat[0] info = {'longitude':self.longitude,'latitude':self.latitude,'nlon':self.nlon,'nlat':self.nlat, \ 'domain':self.domain,'basin':basinname[basin],'lonres':lonres,'latres':latres, \ 'timestart':self.timestart,'timeend':self.timeend} wnc.create_field_global_att(ncfile, info) wnc.create_field_global_att(mmfile, info) ncfile.close() mmfile.close()
def __init__(self,yearmon,basin,domain): self.yearmon = yearmon self.domain = domain self.complevel = 4 self.varname = {'wavehs':'hs','wavetp':'fp','wavedir':'dir','wavehs_wndsea':'phs_sea','wavetp_wndsea':'ptp_sea','wavedir_wndsea':'pdi_sea','wavehs_swell1':'phs_sw1','wavetp_swell1':'ptp_sw1','wavedir_swell1':'pdi_sw1','wavehs_swell2':'phs_sw2','wavetp_swell2':'ptp_sw2','wavedir_swell2':'pdi_sw2','wind_u':'wnd','wind_v':'wnd'} mmset = ['wavehs','wavetp','wavehs_wndsea','wavetp_wndsea','wavehs_swell1','wavetp_swell1','wavehs_swell2','wavetp_swell2'] basinname = {'pac':'Pacific Ocean','atl':'Atlantic Ocean','gom':'Gulf of Mexico'} ncfn = 'wis_' + basin + '_' + domain + '_' + yearmon + '.nc' mmfn = 'wis_' + basin + '_' + domain + '_' + yearmon + '_max_mean.nc' ncfile = Dataset(ncfn,'w') mmfile = Dataset(mmfn,'w') # write_top_level_att(h5fname) for key in self.varname.keys(): tt, header, dataf = rfww3.read_fields_ww3('./',self.varname[key],key) if 'time' not in ncfile.variables: self.tt = tt self.time2date() ncfile.createDimension('time',len(self.tt)) mmfile.createDimension('time',len(self.tt)) dataset = ncfile.createVariable('time','i8',('time',),zlib=True,complevel=self.complevel) dataset[:] = self.pytime dataset.long_name = 'Time' dataset.units = 'Seconds since 1970-01-01 00:00:00' dataset.dimension = self.pytime.shape ncfile.createDimension('date',6) dataset = ncfile.createVariable('datetime','i4',('time','date',),zlib=True,complevel=self.complevel) dataset[:] = self.dattime dataset.long_name = 'Time in yyyy,mm,dd,hh,mm,ss' dataset.units = 'year,month,day,hour,minute,second' dataset.dimension = self.dattime.shape dataset = mmfile.createVariable('time','i8',('time',),zlib=True,complevel=self.complevel) dataset[:] = self.pytime dataset.long_name = 'Time' dataset.units = 'Seconds since 1970-01-01 00:00:00' dataset.dimension = self.pytime.shape mmfile.createDimension('date',6) dataset = mmfile.createVariable('datetime','i4',('time','date',),zlib=True,complevel=self.complevel) dataset[:] = self.dattime dataset.long_name = 'Time in yyyy,mm,dd,hh,mm,ss' dataset.units = 'year,month,day,hour,minute,second' dataset.dimension = self.dattime.shape self.longitude = header['lonw'], header['lone'] self.latitude = header['lats'], header['latn'] self.nlon = int(header['ilon']) self.nlat = int(header['jlat']) self.read_grid() ncfile.createDimension('lon',self.nlon) ncfile.createDimension('lat',self.nlat) mmfile.createDimension('lon',self.nlon) mmfile.createDimension('lat',self.nlat) dataset = ncfile.createVariable('grid','i4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[:] = self.grd dataset.mfactor = 0.001 dataset.long_name = 'Water Depth Grid' dataset.units = 'meter' dataset.dimension = self.grd.shape dataset = ncfile.createVariable('mask','i4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[:] = self.mask dataset.mfactor = 1 dataset.long_name = 'Land/Water Mask' dataset.units = 'N/A' dataset.dimension = self.mask.shape dataset = ncfile.createVariable('xobstr','i4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[:] = self.xobstr dataset.mfactor = 0.01 dataset.long_name = 'Obstruction Grid X Direction' dataset.units = 'N/A' dataset.dimension = self.xobstr.shape dataset = ncfile.createVariable('yobstr','i4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[:] = self.yobstr dataset.mfactor = 0.01 dataset.long_name = 'Obstruction Grid Y Direction' dataset.units = 'N/A' dataset.dimension = self.yobstr.shape # self.lon = np.arange(float(self.longitude[0]),float(self.longitude[1])+self.dlon,self.dlon) # self.lat = np.arange(float(self.latitude[0]),float(self.latitude[1])+self.dlat,self.dlat) self.lon = np.linspace(float(self.longitude[0]),float(self.longitude[1]),num=self.nlon) self.lat = np.linspace(float(self.latitude[0]),float(self.latitude[1]),num=self.nlat) dataset = ncfile.createVariable('longitude','f4',('lon',),zlib=True,complevel=self.complevel) dataset[:] = self.lon dataset.units = 'decimal degree' dataset.dimension = self.lon.shape lonres = self.lon[1] - self.lon[0] dataset = ncfile.createVariable('latitude','f4',('lat',),zlib=True,complevel=self.complevel) dataset[:] = self.lat dataset.units = 'decimal degree' dataset.dimension = self.lat.shape latres = self.lat[1] - self.lat[0] dataset = mmfile.createVariable('longitude','f4',('lon',),zlib=True,complevel=self.complevel) dataset[:] = self.lon dataset.units = 'decimal degree' dataset.dimension = self.lon.shape lonres = self.lon[1] - self.lon[0] dataset = mmfile.createVariable('latitude','f4',('lat',),zlib=True,complevel=self.complevel) dataset[:] = self.lat dataset.units = 'decimal degree' dataset.dimension = self.lat.shape latres = self.lat[1] - self.lat[0] if key == 'wind_u': self.wndu = np.array(dataf)*float(header['Mfac']) elif key == 'wind_v': self.wndv = np.array(dataf)*float(header['Mfac']) if 'wind' not in key: print key dataset = ncfile.createVariable(key,'i4',('time','lat','lon',),zlib=True,complevel=self.complevel) dataset[:] = dataf dataset.dimension = dataf.shape dataset.mfactor = header['Mfac'] longn, units = wnc.create_field_var_att(key) dataset.long_name = longn dataset.units = units if key in mmset: dmax,dmean = self.max_mean(np.array(dataf)*float(header['Mfac'])) dataset = mmfile.createVariable(key + '_max','f4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[...] = dmax dataset = mmfile.createVariable(key + '_mean','f4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[...] = dmean wndspd = self.calc_wndspd() # "*****Calculating Windspeed" dmax,dmean = self.max_mean(wndspd) dataset = mmfile.createVariable('windspd_max','f4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[...] = dmax dataset = mmfile.createVariable('windspd_mean','f4',('lat','lon',),zlib=True,complevel=self.complevel) dataset[...] = dmean # wh5.create_field_var_att(h5file,self.varname.keys()) # self.lon = np.arange(float(self.longitude[0]),float(self.longitude[1])+self.dlon,self.dlon) # self.lat = np.arange(float(self.latitude[0]),float(self.latitude[1])+self.dlat,self.dlat) # self.lon = np.linspace(float(self.longitude[0]),float(self.longitude[1]),num=self.nlon) # self.lat = np.linspace(float(self.latitude[0]),float(self.latitude[1]),num=self.nlat) # dataset = ncfile.createVariable('longitude','f4',('lon',)) # dataset[:] = self.lon # dataset.units = 'decimal degree' # dataset.dimension = self.lon.shape # lonres = self.lon[1] - self.lon[0] # dataset = ncfile.createVariable('latitude','f4',('lat',)) # dataset[:] = self.lat # dataset.units = 'decimal degree' # dataset.dimension = self.lat.shape # latres = self.lat[1] - self.lat[0] info = {'longitude':self.longitude,'latitude':self.latitude,'nlon':self.nlon,'nlat':self.nlat, \ 'domain':self.domain,'basin':basinname[basin],'lonres':lonres,'latres':latres, \ 'timestart':self.timestart,'timeend':self.timeend} wnc.create_field_global_att(ncfile,info) wnc.create_field_global_att(mmfile,info) ncfile.close() mmfile.close()