Mercurial > repos > ecology > xarray_select
comparison xarray_tool.py @ 1:6baac361495b draft
"planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/data_manipulation/xarray/ commit 5cdfeb9e100109892a8490ebb4b9bff498c795b5"
author | ecology |
---|---|
date | Sat, 31 Oct 2020 11:00:25 +0000 |
parents | 225d0d275a24 |
children | 123a9a629bef |
comparison
equal
deleted
inserted
replaced
0:225d0d275a24 | 1:6baac361495b |
---|---|
82 f = open(self.outfile_summary, 'w') | 82 f = open(self.outfile_summary, 'w') |
83 ds = xr.open_dataset(self.infile) | 83 ds = xr.open_dataset(self.infile) |
84 writer = csv.writer(f, delimiter='\t') | 84 writer = csv.writer(f, delimiter='\t') |
85 header = ['VariableName', 'NumberOfDimensions'] | 85 header = ['VariableName', 'NumberOfDimensions'] |
86 for idx, val in enumerate(ds.dims.items()): | 86 for idx, val in enumerate(ds.dims.items()): |
87 header.append('Dim'+str(idx)+'Name') | 87 header.append('Dim' + str(idx) + 'Name') |
88 header.append('Dim'+str(idx)+'Size') | 88 header.append('Dim' + str(idx) + 'Size') |
89 writer.writerow(header) | 89 writer.writerow(header) |
90 for name, da in ds.data_vars.items(): | 90 for name, da in ds.data_vars.items(): |
91 line = [name] | 91 line = [name] |
92 line.append(len(ds[name].shape)) | 92 line.append(len(ds[name].shape)) |
93 for d, s in zip(da.shape, da.sizes): | 93 for d, s in zip(da.shape, da.sizes): |
111 if (op == 'bi'): | 111 if (op == 'bi'): |
112 rl = float(split_filter[3]) | 112 rl = float(split_filter[3]) |
113 if filter_varname == self.select: | 113 if filter_varname == self.select: |
114 # filter on values of the selected variable | 114 # filter on values of the selected variable |
115 if op == 'bi': | 115 if op == 'bi': |
116 self.dset = self.dset.where((self.dset <= rl) & | 116 self.dset = self.dset.where((self.dset <= rl) & (self.dset >= ll)) |
117 (self.dset >= ll)) | |
118 elif op == 'le': | 117 elif op == 'le': |
119 self.dset = self.dset.where(self.dset <= ll) | 118 self.dset = self.dset.where(self.dset <= ll) |
120 elif op == 'ge': | 119 elif op == 'ge': |
121 self.dset = self.dset.where(self.dset >= ll) | 120 self.dset = self.dset.where(self.dset >= ll) |
122 elif op == 'e': | 121 elif op == 'e': |
205 def selection_from_coords(self): | 204 def selection_from_coords(self): |
206 fcoords = pd.read_csv(self.coords, sep='\t') | 205 fcoords = pd.read_csv(self.coords, sep='\t') |
207 for row in fcoords.itertuples(): | 206 for row in fcoords.itertuples(): |
208 self.latvalN = row[0] | 207 self.latvalN = row[0] |
209 self.lonvalE = row[1] | 208 self.lonvalE = row[1] |
210 self.outfile = (self.outputdir + '/' + self.select + '_' | 209 self.outfile = (self.outputdir + '/' + self.select + '_' + str(row.Index) + '.tabular') |
211 + str(row.Index) + '.tabular') | |
212 self.selection() | 210 self.selection() |
213 | 211 |
214 | 212 |
215 if __name__ == '__main__': | 213 if __name__ == '__main__': |
216 warnings.filterwarnings("ignore") | 214 warnings.filterwarnings("ignore") |