pythonのクラスの作成とクラスの継承の例。
クラスの作成
class nc4(): def __init__(self): self.idata={} self.odata={} def show(self,fname): fi0=netCDF4.Dataset(fname,"r") for x in fi0.variables.keys(): vname=x try: vunits=fi0.variables[x].units except: vunits="N/A" print("{0:<20} {1:<20}".format(vname,vunits)) def read(self,fname,vlist): fi0=netCDF4.Dataset(fname,"r") for v in vlist: self.idata[v]=fi0.variables[v][:]
クラスの継承
class sflux(nc4): def write(self,fname,vlist,udic): fo0=netCDF4.Dataset(fname,"w") nt,ny,nx,=self.odata[vlist[0]].shape fo0.createDimension("time",nt) fo0.createDimension("lat",ny) fo0.createDimension("lon",nx) fo0.notes="Monthly mean DFe flux at the ocean surface, based on Luo et al. (2008)." var0=fo0.createVariable("time","f4",("time")) var0.units="days" var0[:]=self.idata["ocean_time"][:] for v in vlist: var0=fo0.createVariable(v,"f4",("time","lat","lon"),fill_value=np.nan) var0.units=udic[v] var0[:]=self.odata[v][:] fo0.close()