| 5 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 6 |
% Parse table file % |
% Parse table file % |
| 7 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 8 |
|
ShiftData = 0; |
| 9 |
format = 'NONSEQUENTIAL'; |
format = 'NONSEQUENTIAL'; |
| 10 |
|
|
| 11 |
tablfile = [dad,'/',Grads,'.tabl']; |
tablfile = [dad,'/',Grads,'.tabl']; |
| 27 |
inc = str2num(tokens{5}); |
inc = str2num(tokens{5}); |
| 28 |
xax = [ini:inc:ini+(num-1)*inc]; |
xax = [ini:inc:ini+(num-1)*inc]; |
| 29 |
if min(xax) >= 0 && max(xax) > 180 |
if min(xax) >= 0 && max(xax) > 180 |
| 30 |
xax = xax - 180; |
ShiftData = 1; |
| 31 |
end |
end |
| 32 |
nx = length(xax); |
nx = length(xax); |
| 33 |
end |
end |
| 147 |
end |
end |
| 148 |
data = reshape(data,[nx,ny,nz,nv,nt]); |
data = reshape(data,[nx,ny,nz,nv,nt]); |
| 149 |
data = squeeze(data(:,:,:,ivar,:)); |
data = squeeze(data(:,:,:,ivar,:)); |
|
data( abs((data-undef)/undef) < tol ) = NaN; |
|
| 150 |
|
data( abs((data-undef)/undef) < tol ) = NaN; |
| 151 |
|
if ShiftData |
| 152 |
|
indexWestHemi = xax>=180; |
| 153 |
|
indexEastHemi = xax<180; |
| 154 |
|
data = cat(1,data(indexWestHemi,:,:),data(indexEastHemi,:,:)); |
| 155 |
|
xax = cat(2,xax(indexWestHemi)-360,xax(indexEastHemi)); |
| 156 |
|
end |