% % Ed Hill % % Split a C32 grid along its faces and produce ASCII output. % nc = netcdf('rmp_CS32_to_LL128x64_conserv.nc','nowrite'); isrc = nc{'src_address'}(:); idst = nc{'dst_address'}(:); wts = nc{'remap_matrix'}(:); nc = close(nc); icull = find(wts(:,1) < 1.0e-18); ikeep = find(wts(:,1) > 1.0e-18); isrck = isrc(ikeep); idstk = idst(ikeep); wtsk = wts(ikeep,:); pface = {}; fi = 1; for fi = 1:6 fname = sprintf('CS32_LL128x64_%03d.regrid.ascii',fi); fid = fopen(fname,'wt'); imin = 32^2 * (fi - 1) + 1; imax = 32^2 * fi; pface(fi).inds = find(imin<=isrck & isrck<=imax); for j = 1:length(pface(fi).inds) ii = pface(fi).inds(j); fprintf(fid,' %10d %10d %28.22E\n', ... (isrck(ii) - imin + 1),idstk(ii),wtsk(ii,1)); end fclose(fid); end