Changeset 810 in lmdz_wrf
- Timestamp:
- Jun 7, 2016, 5:36:20 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/nc_var_tools.py
r800 r810 1173 1173 print ' ' + fname + ': Adding refvar:', refvar, 'shape: ', refvarv.shape 1174 1174 var = ncf.createVariable(refvar, vartype, vardims, fill_value=varfil) 1175 1176 varshape = refvarv.shape 1177 varvals = np.zeros(tuple(varshape), dtype=vartype) 1178 Nvars = len(varshape) 1175 else: 1176 print warnmsg 1177 print ' ' + fname + ': updating var:', refvar, 'shape: ', refvarv.shape 1178 var = ncf.variables[refvar] 1179 1180 varshape = refvarv.shape 1181 varvals = np.zeros(tuple(varshape), dtype=vartype) 1182 Nvars = len(varshape) 1179 1183 1180 1184 # Allocating all the necessary memory (just in case) 1185 var[:] = varvals 1186 1187 if Nvars <= 2: 1188 varvals = refvarv[:] 1181 1189 var[:] = varvals 1182 1183 if Nvars <= 2: 1184 varvals = refvarv[:] 1185 var[:] = varvals 1186 elif Nvars == 3: 1187 for i in range(varshape[0]): 1188 varvals[i,:,:] = refvarv[i,:,:] 1189 var[i,:,:] = varvals[i,:,:] 1190 elif Nvars == 4: 1191 for i in range(varshape[0]): 1192 for j in range(varshape[1]): 1193 varvals[i,j,:,:] = refvarv[i,j,:,:] 1194 var[i,j,:,:] = varvals[i,j,:,:] 1195 elif Nvars == 5: 1196 for i in range(varshape[0]): 1197 for j in range(varshape[1]): 1198 for k in range(varshape[2]): 1199 varvals[i,j,k,:,:] = refvarv[i,j,k,:,:] 1200 var[i,j,k,:,:] = varvals[i,j,k,:,:] 1201 elif Nvars == 6: 1202 for i in range(varshape[0]): 1203 for j in range(varshape[1]): 1204 for k in range(varshape[2]): 1205 for l in range(varshape[3]): 1206 varvals[i,j,k,l,:,:] = refvarv[i,j,k,l,:,:] 1207 var[i,j,k,l,:,:] = varvals[i,j,k,l,:,:] 1208 1209 newvar = ncf.variables[refvar] 1210 for attr in varattr: 1211 newvarattrs = newvar.ncattrs() 1212 attrv = refvarv.getncattr(attr) 1213 if not gen.searchInlist(newvarattrs, attr): 1214 newvar.setncattr(attr, attrv) 1215 1216 ncf.sync() 1190 elif Nvars == 3: 1191 for i in range(varshape[0]): 1192 varvals[i,:,:] = refvarv[i,:,:] 1193 var[i,:,:] = varvals[i,:,:] 1194 elif Nvars == 4: 1195 for i in range(varshape[0]): 1196 for j in range(varshape[1]): 1197 varvals[i,j,:,:] = refvarv[i,j,:,:] 1198 var[i,j,:,:] = varvals[i,j,:,:] 1199 elif Nvars == 5: 1200 for i in range(varshape[0]): 1201 for j in range(varshape[1]): 1202 for k in range(varshape[2]): 1203 varvals[i,j,k,:,:] = refvarv[i,j,k,:,:] 1204 var[i,j,k,:,:] = varvals[i,j,k,:,:] 1205 elif Nvars == 6: 1206 for i in range(varshape[0]): 1207 for j in range(varshape[1]): 1208 for k in range(varshape[2]): 1209 for l in range(varshape[3]): 1210 varvals[i,j,k,l,:,:] = refvarv[i,j,k,l,:,:] 1211 var[i,j,k,l,:,:] = varvals[i,j,k,l,:,:] 1212 1213 newvar = ncf.variables[refvar] 1214 for attr in varattr: 1215 newvarattrs = newvar.ncattrs() 1216 attrv = refvarv.getncattr(attr) 1217 if not gen.searchInlist(newvarattrs, attr): 1218 newvar.setncattr(attr, attrv) 1219 1220 ncf.sync() 1217 1221 ncf.close() 1218 1222 ncref.close()
Note: See TracChangeset
for help on using the changeset viewer.