yi = N.array(yi) zi = N.array(zi) xxg, yyg = N.meshgrid(xg, yg) xo = xxg.ravel() yo = yyg.ravel() vgm = variogram_model('linear', n=0, s=sill, r=range) # Setup the kriger sck = SimpleCloudKriger(xi, yi, zi, vgf=vgm, farvalue=farvalue) # Interpolate zo = sck(xo, yo) # Check a far value zzg = zo.reshape(ny, nx) N.testing.assert_allclose(zzg[-1, -1],farvalue) # Plot vmin = min(zi.min(), zo.min()) vmax = max(zi.max(), zo.max(), farvalue) cmap = 'cmocean_ice' kw = dict(vmin=vmin, vmax=vmax) P.pcolormesh(xxg, yyg, zzg, cmap=cmap, **kw) P.colorbar() P.scatter(xi, yi, c=zi, s=100, cmap=cmap, **kw) P.axis('image') P.title('Simple kriging with fixed far value') P.savefig(code_file_name(ext='.png')) P.show() P.close()
mask = frac<=1.e-3 frac[mask] = 1. frac = N.resize(frac, varo.shape) mask = N.resize(mask, varo.shape) varo[:] /= frac varo[:] = MV2.masked_where(mask, varo, copy=0) # del r gc.collect() if rank==0: print >>f, ' plot' P.figure(figsize=(12, 6)) P.subplots_adjust(right=0.9) P.subplot(121) P.pcolormesh(xi, yi, vari[0,0].asma(),vmin=vmin,vmax=vmax) P.axis([xmin, xmax, ymin, ymax]) P.colorbar() P.title('Original') P.subplot(122) P.pcolormesh(xo, yo, varo[0,0].asma(),vmin=vmin,vmax=vmax) P.axis([xmin, xmax, ymin, ymax]) P.title(tool.upper()+' / '+method.upper()) P.colorbar(extend='min')#cax=P.axes([0.92, 0.3, 0.02, 0.6])) figfile = basefile+'_%(tool)s_%(method)s.png'%vars() if os.path.exists(figfile): os.remove(figfile) P.savefig(figfile) P.close() del varo if rank==0:print >>f, 'Done' f.close()
# Norm frac = diag['dstAreaFractions'] mask = frac == 0. frac[mask] = 1. varo[:] /= frac varo[:] = MV2.masked_where(mask, varo, copy=0) # Plot rc('font', size=9) kw = dict(vmin=vari.min(), vmax=vari.max()) axis = [xxbi.min(), xxbi.max(), yybo.min(), yybo.max()] P.figure(figsize=(7, 3)) P.subplot(121, aspect=1) P.pcolormesh(xxbi, yybi, vari, **kw) P.colorbar(shrink=0.7) add_grid(gridi, color='0.5') add_grid(grido) P.axis(axis) P.title('Original: max=%g min=%g' % (vari.max(), vari.min())) P.subplot(122, aspect=1) P.pcolormesh(xxbo, yybo, varo, **kw) P.colorbar(shrink=0.7) add_grid(gridi) add_grid(grido, color='0.5') P.axis(axis) P.title('Regridded: max=%g min=%g' % (varo.max(), varo.min())) P.tight_layout() savefigs(code_file_name(), verbose=False) P.close() rcdefaults()
# Plot vmin = min(zi.min(), zo.min(), zoe.min()) vmax = max(zi.max(), zo.max(), zoe.max()) vmax = max(abs(vmin), abs(vmax)) vmin = -vmax cmap = 'cmocean_tempo' cmap = 'cmocean_delta' kw = dict(vmin=vmin, vmax=vmax) P.figure(figsize=(6, 5.5)) ax = P.subplot(221) P.pcolormesh(xxg, yyg, zzg, cmap=cmap, **kw) P.colorbar() P.scatter(xi, yi, c=zi, s=100, cmap=cmap, **kw) P.title('Without obs error') P.subplot(222, sharex=ax, sharey=ax) P.pcolormesh(xxg, yyg, zzge, cmap=cmap, **kw) P.colorbar() P.scatter(xi, yi, c=zi, s=100, cmap=cmap, **kw) #P.axis('image') P.title('With obs error') P.subplot(223, sharex=ax, sharey=ax) vmax = abs(zzge-zzg).max() vmin = -vmax P.pcolormesh(xxg, yyg, zzge-zzg, cmap=cmap, vmin=vmin, vmax=vmax) P.colorbar()
rr = P.linspace(0, P.sqrt(xg.ptp()**2+yg.ptp()**2), 100) vv = ock.variogram_func(rr) # Plot P.figure(figsize=(8, 8)) axis = [xg.min(), xg.max(), yg.min(), yg.max()] kwmm = dict(vmin=zi.min(), vmax=zi.max()) kwsc = dict(lw=0.2, **kwmm) ax = P.subplot(221, aspect=1) P.imshow(zzg, extent=axis, interpolation='bilinear', origin='lower', alpha=.2, **kwmm) P.scatter(xi, yi, c=zi, s=20, lw=0.2, **kwmm) P.axis(axis) P.title('Input points') P.subplot(222, aspect=1) P.scatter(xo, yo, c=zo, s=40, lw=0.2, **kwmm) P.axis(axis) P.title('Interpolated points') P.subplot(223, aspect=1) P.scatter(xo, yo, c=zoe, s=40, lw=0.2, vmin=0, vmax=100) P.axis(axis) P.colorbar(shrink=.8) P.title('Relative interpolation error') P.subplot(224) P.plot(rr, vv) P.xlabel('Distance') P.ylabel('Error') P.title('Fitted variogram') P.tight_layout() savefigs(code_file_name(), verbose=False) P.close()
# Format and convert xx, yy = N.meshgrid(N.arange(-2, 4, 0.25), N.arange(-1, 5, 0.25)) nxy = xx.shape xx.shape = -1 yy.shape = -1 pp, qq = [], [] for x, y in zip(xx, yy): p, q = curv2rect(x1,x2,x3,x4,y1,y2,y3,y4,x,y) pp.append(p) qq.append(q) pp = N.array(pp) qq = N.array(qq) # Plot xp = [x1, x2, x3, x4, x1] yp = [y1, y2, y3, y4, y1] P.subplot(211) levels = N.array([-10, 0, 1, 10.]) o = P.contourf(xx.reshape(nxy), yy.reshape(nxy), pp.reshape(nxy), levels=levels) P.colorbar(o) P.plot(xp, yp, 'k') P.subplot(212) o = P.contourf(xx.reshape(nxy), yy.reshape(nxy), qq.reshape(nxy), levels=levels) P.colorbar(o) P.plot(xp, yp, 'k') figfile = code_file_name(ext='png') if os.path.exists(figfile): os.remove(figfile) P.savefig(figfile) P.close()
# Norm frac = diag['dstAreaFractions'] mask = frac==0. frac[mask]=1. varo[:] /= frac varo[:] = MV2.masked_where(mask, varo, copy=0) # Plot rc('font', size=9) kw = dict(vmin=vari.min(), vmax=vari.max()) axis = [xxbi.min(), xxbi.max(), yybo.min(), yybo.max()] P.figure(figsize=(7, 3)) P.subplot(121, aspect=1) P.pcolormesh(xxbi, yybi, vari, **kw) P.colorbar(shrink=0.7) add_grid(gridi, color='0.5') add_grid(grido) P.axis(axis) P.title('Original: max=%g min=%g'%(vari.max(), vari.min())) P.subplot(122, aspect=1) P.pcolormesh(xxbo, yybo, varo, **kw) P.colorbar(shrink=0.7) add_grid(gridi) add_grid(grido, color='0.5') P.axis(axis) P.title('Regridded: max=%g min=%g'%(varo.max(), varo.min())) P.tight_layout() savefigs(code_file_name(), verbose=False) P.close() rcdefaults()
pp, qq = [], [] for x, y in zip(xx, yy): p, q = curv2rect(x1, x2, x3, x4, y1, y2, y3, y4, x, y) pp.append(p) qq.append(q) pp = N.array(pp) qq = N.array(qq) # Plot xp = [x1, x2, x3, x4, x1] yp = [y1, y2, y3, y4, y1] P.subplot(211) levels = N.array([-10, 0, 1, 10.]) o = P.contourf(xx.reshape(nxy), yy.reshape(nxy), pp.reshape(nxy), levels=levels) P.colorbar(o) P.plot(xp, yp, 'k') P.subplot(212) o = P.contourf(xx.reshape(nxy), yy.reshape(nxy), qq.reshape(nxy), levels=levels) P.colorbar(o) P.plot(xp, yp, 'k') figfile = code_file_name(ext='png') if os.path.exists(figfile): os.remove(figfile) P.savefig(figfile) P.close()