Changeset 1522 in lmdz_wrf
- Timestamp:
- Apr 12, 2017, 2:10:27 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/nc_var_tools.py
r1517 r1522 14122 14122 valsdims = ovar.dimensions 14123 14123 varns.append(vn) 14124 begvs [ivar]= gen.retype(val.split(',')[1], ovar.dtype)14125 endvs [ivar]= gen.retype(val.split(',')[2], ovar.dtype)14126 intvs [ivar]= -114124 begvs = gen.retype(val.split(',')[1], ovar.dtype) 14125 endvs = gen.retype(val.split(',')[2], ovar.dtype) 14126 intvs = -1 14127 14127 fbegvs[ivar] = np.float(val.split(',')[1]) 14128 14128 fendvs[ivar] = np.float(val.split(',')[2]) 14129 14129 fintvs[ivar] = np.float(val.split(',')[3]) 14130 14130 14131 if endvs[ivar] == -1: endvs[ivar] = np.max(vals) 14132 maskinf = ma.masked_less(vals, begvs[ivar]) 14133 masksup = ma.masked_greater(vals, endvs[ivar]) 14131 if endvs == -1: endvs = np.max(vals) 14132 maskinf = ma.masked_less(vals, begvs) 14133 masksup = ma.masked_greater(vals, endvs) 14134 14135 # For all masked or not, ma.masked returns a single value... 14136 if len(maskinf.mask.flatten()) == 1: 14137 if maskinf.mask: 14138 maskinfv = np.ones((vals.shape), dtype=bool) 14139 else: 14140 maskinfv = np.zeros((vals.shape), dtype=bool) 14141 else: 14142 maskinfv = maskinf.mask 14143 14144 if len(masksup.mask.flatten()) == 1: 14145 if masksup.mask: 14146 masksupv = np.ones((vals.shape), dtype=bool) 14147 else: 14148 masksupv = np.zeros((vals.shape), dtype=bool) 14149 else: 14150 masksupv = masksup.mask 14151 14152 # if and len(masksup.mask.flatten()) == 1: 14153 # if not maskinf.mask*maskinf.mask: 14154 # finalmask = np.ones() 14155 # else: 14156 # finalmask = maskinf.mask + masksup.mask 14134 14157 14135 14158 #if intvs[ivar] != -1: … … 14137 14160 # print ' ' + fname + ': non-consecutive slices not ready!!' 14138 14161 # quit(-1) 14139 finalmask = maskinf.mask + masksup.mask14140 14162 # Indices of the found values 14163 finalmask = maskinfv + masksupv 14164 # Single value 14165 if val.split(',')[3] == '0': 14166 print infmsg 14167 print ' ' + fname + ": single value for variable '" + vn + "' =", \ 14168 begvs 14169 finalmask = np.where(vals == begvs, False, finalmask) 14170 14141 14171 iDistmindist = gen.multi_index_mat(finalmask, False) 14142 14172 14143 14173 print ' found:', len(iDistmindist),"values in variable '" + vn + \ 14144 "' as; beginning:", begvs[ivar], 'ending:', endvs[ivar], 'interval:', \ 14145 intvs[ivar] 14174 "' as; beginning:", begvs, 'ending:', endvs, 'interval:', intvs 14146 14175 iid = 0 14147 14176 for dimn in valsdims: … … 14167 14196 dimvals[dimn] = dvvs 14168 14197 14169 if intvs [ivar]!= -1:14170 slicevalS = slicevalS + varns[ivar] + ' (' + str( fbegvs[ivar]) + ',' +\14171 str(fendvs [ivar]) + ',' + str(fintvs[ivar]) + '); '14198 if intvs != -1: 14199 slicevalS = slicevalS + varns[ivar] + ' (' + str(begvs) + ',' + \ 14200 str(fendvs) + ',' + str(fintvs) + '); ' 14172 14201 else: 14173 slicevalS = slicevalS + varns[ivar] + ' (' + str(fbegvs [ivar]) + ',' + \14174 str(fendvs [ivar]) + ',1); '14202 slicevalS = slicevalS + varns[ivar] + ' (' + str(fbegvs) + ',' + \ 14203 str(fendvs) + ',1); ' 14175 14204 14176 14205 print infmsg
Note: See TracChangeset
for help on using the changeset viewer.