% % Ed Hill % % Quick script to double the lengths/areas around the face edges. fin = 'b.face001.bin'; sNx = 102; sNy = 41; vnall = { 'XC','YC','dxF','dyF','rA','XG','YG','dxV', ... 'dyU','rAz','dxC','dyC','rAw','rAs','dxG','dyG' }; gvars = { 'XC','YC','DXF','DYF','RA','XG','YG','DXV', ... 'DYU','RAZ','DXC','DYC','RAW','RAS','DXG','DYG' }; nslab = (sNx + 1)*(sNy + 1); grid = {}; for ivar = 1:length(gvars) disp([ ' reading : ' gvars{ivar} ]); gid = fopen(fin, 'r', 'ieee-be'); fseek(gid,(ivar-1)*nslab*8,'bof'); tmp = reshape(fread(gid,nslab,'real*8',0,'ieee-be'),[sNx+1,sNy+1]); fclose(gid); grid.(gvars{ivar}) = tmp; end fac = pi/180.0; [ xg, yg, zg ] = sph2cart( grid.XG*fac, grid.YG*fac, 1 ); plot3(xg,yg,zg, 'b-') hold on plot3(xg',yg',zg', 'b-') hold off center = [ sum(sum(xg)) sum(sum(yg)) sum(sum(zg)) ]; center = center./norm(center); hold on plot3(center(1),center(2),center(3),'rx') hold off load coast near = zeros([ length(lat) 3 ]); [near(:,1) near(:,2) near(:,3)] = ... sph2cart(long*(pi/180),lat*(pi/180),1); for i = 1:length(near) if norm(near(i,:) - center) > 0.4 near(i,:) = NaN; end end hold on plot3(near(:,1),near(:,2),near(:,3),'g-') hold off axis equal view(32,36) nr = 5; xr = xg(1:nr:end,1:nr:end); yr = yg(1:nr:end,1:nr:end); zr = zg(1:nr:end,1:nr:end); figure(2) plot3(xr,yr,zr, 'b-') hold on plot3(xr',yr',zr', 'b-') plot3(near(:,1),near(:,2),near(:,3),'g-') hold off axis equal view(32,36) print -depsc lab_sea_001.eps