load('era5_6hours_reduced.mat')
lon_ERA5 = [104:0.25:124]';
lat_ERA5 = [29:-0.25:2]';
lon_IFREMER = [103.8125:0.25:124.0625]';
lat_IFREMER = [1.8125:0.25:29.0625]';
mask = ~isfinite(u10_ifremer) | abs(u10_ifremer) > 1e30*eps;
subplot(2,1,1),contourf(u10_ifremer(:,:,1))
subplot(2,1,2),contourf(u10_ERA5_6hours(:,:,1))
lat_ERA5_flip = flip(lat_ERA5);
[X,Y] = meshgrid(lat_IFREMER, lon_IFREMER);
[Xp,Yp] = meshgrid(lat_ERA5_flip,lon_ERA5);
u10_ifremer_int(:,:,t)= interp2(X,Y,u10_ifremer(:,:,t),Xp,Yp,'cubic');
windField1 = reshape(u10_ifremer_int, [],1);
windField2 = reshape(u10_ERA5_6hours, [],1);
scatter(windField1,windField2,".")
XEdge = linspace(min(x),max(x),nBins+1);
YEdge = linspace(min(y),max(y),nBins+1);
Xcenter = XEdge(1:end-1)+dx/2;
Ycenter = YEdge(1:end-1)+dy/2;
[~, xBin] = histc(x, XEdge);
[~, yBin] = histc(y, YEdge);
[xIdx, yIdx] = meshgrid(1:nBins, 1:nBins);
xyPairs = [xIdx(:), yIdx(:)];
Z = zeros(size(xyPairs,1),1);
for i = 1:size(xyPairs,1)
Z(i) = sum(ismember([xBin, yBin], xyPairs(i,:), 'rows'));
Z = reshape(Z, [nBins, nBins]);
imagesc(Xcenter,Ycenter,Z);
set(gca,'YDir','normal');
plot((-18:10),(-18:10),'r--');