8 |
ShiftData = 0; |
ShiftData = 0; |
9 |
format = 'NONSEQUENTIAL'; |
format = 'NONSEQUENTIAL'; |
10 |
|
|
11 |
tablfile = [dad,'/',Grads,'.tabl']; |
tablfile = [dad,'/',Grads]; |
12 |
file = textread(tablfile,'%s','delimiter','\n','whitespace',''); |
file = textread(tablfile,'%s','delimiter','\n','whitespace',''); |
13 |
|
|
14 |
for iline = 1:length(file) |
for iline = 1:length(file) |
66 |
end |
end |
67 |
if length(ini) == 13 |
if length(ini) == 13 |
68 |
monchar=ini(9:11); |
monchar=ini(9:11); |
69 |
|
elseif length(ini)==7 |
70 |
|
monchar=ini(1:3); |
71 |
|
else |
72 |
|
error('Cannot parse TDEF correctly'); |
73 |
end |
end |
74 |
if isequal(monchar,'JAN'), inimonth = 1; |
if isequal(monchar,'JAN'), inimonth = 1; |
75 |
elseif isequal(monchar,'FEB'), inimonth = 2; |
elseif isequal(monchar,'FEB'), inimonth = 2; |
103 |
end |
end |
104 |
|
|
105 |
if isequal(tokens{1},'FORMAT') |
if isequal(tokens{1},'FORMAT') |
106 |
if isequal(tokens{2},'SEQUENTIAL') |
if isequal(tokens{2},'SEQUENTIAL') | isequal(tokens{2},'sequential') |
107 |
format = 'SEQUENTIAL'; |
format = 'SEQUENTIAL'; |
108 |
else |
else |
109 |
disp(['Unrecognized grads FORMAT: ',tokens{2}]); |
disp(['Unrecognized grads FORMAT: ',tokens{2}]); |
143 |
fid=fopen(datafile,'r','b'); |
fid=fopen(datafile,'r','b'); |
144 |
data = fread(fid,'real*4'); |
data = fread(fid,'real*4'); |
145 |
fclose(fid); |
fclose(fid); |
146 |
if isequal(format,'SEQUENTIAL') |
if isequal(format,'SEQUENTIAL') | isequal(format,'sequential') |
147 |
index=true([nx*ny*nz*nv*nt+2*nv*nt,1]); |
index=true([nx*ny*nz*nv*nt+2*nv*nt,1]); |
148 |
index([1:nx*ny*nz+2:end])=false; |
index([1:nx*ny*nz+2:end])=false; |
149 |
index([2:nx*ny*nz+2:end])=false; |
index([2:nx*ny*nz+2:end])=false; |
157 |
indexEastHemi = xax<180; |
indexEastHemi = xax<180; |
158 |
data = cat(1,data(indexWestHemi,:,:),data(indexEastHemi,:,:)); |
data = cat(1,data(indexWestHemi,:,:),data(indexEastHemi,:,:)); |
159 |
xax = cat(2,xax(indexWestHemi)-360,xax(indexEastHemi)); |
xax = cat(2,xax(indexWestHemi)-360,xax(indexEastHemi)); |
|
end |
|
160 |
|
end |
161 |
|
datatmp(:,:,inimonth:num+inimonth-1) = data; |
162 |
|
data=datatmp; |