1 |
% m-file: mit_loadglobaldata.m |
2 |
% read all the data files for the 4x4 global run and take time averages |
3 |
% of it |
4 |
% $Header: $ |
5 |
% $Name: $ |
6 |
|
7 |
precision = mit_getparm('data','readBinaryPrec'); |
8 |
if isempty(precision); precision = 32.; end |
9 |
if precision == 32 |
10 |
acc = 'real*4'; |
11 |
elseif precision == 64; |
12 |
acc = 'real*8'; |
13 |
else |
14 |
error('readBinaryPrec contains unknown precision') |
15 |
end |
16 |
|
17 |
nx = grd.nx; |
18 |
ny = grd.ny; |
19 |
nz = grd.nz; |
20 |
|
21 |
% load restoring fields and compute annual mean |
22 |
thetaClimFile = mit_getparm('data','thetaClimFile'); |
23 |
if isempty(thetaClimFile) | thetaClimFile == ' '; |
24 |
tdmean = repmat(NaN,size(grd.hfacc(:,:,1))); |
25 |
else |
26 |
tdmean = squeeze(mean(mit_readfield(thetaClimFile,[nx ny 12],acc),3)); |
27 |
end |
28 |
saltClimFile = mit_getparm('data','saltClimFile'); |
29 |
if isempty(saltClimFile) | saltClimFile == ' '; |
30 |
sdmean = repmat(NaN,size(grd.hfacc(:,:,1))); |
31 |
else |
32 |
sdmean = squeeze(mean(mit_readfield(saltClimFile,[nx ny 12],acc),3)); |
33 |
end |
34 |
EmPmRFile = mit_getparm('data','EmPmRFile'); |
35 |
if isempty(EmPmRFile) | EmPmRFile == ' '; |
36 |
empr = repmat(NaN,nx,ny); |
37 |
else |
38 |
empr = squeeze(mean(mit_readfield(EmPmRFile,[nx ny 12],acc),3)); |
39 |
end |
40 |
empr = change(empr,'==',0,NaN); |
41 |
surfQFile = mit_getparm('data','surfQFile'); |
42 |
if isempty(surfQFile) | surfQFile == ' '; |
43 |
qnet = repmat(NaN,nx,ny); |
44 |
else |
45 |
qnet = squeeze(mean(mit_readfield(surfQFile,[nx ny 12],acc),3)); |
46 |
end |
47 |
qnet = change(qnet,'==',0,NaN); |
48 |
thetaFile = mit_getparm('data','hydrogThetaFile'); |
49 |
if isempty(thetaFile) | thetaFile == ' '; |
50 |
tdatamean = repmat(NaN,size(grd.hfacc)); |
51 |
else |
52 |
tdatamean = squeeze(mean(mit_readfield(thetaFile,[nx ny nz 12],acc),4)); |
53 |
end |
54 |
msgbin = dir('sal.bin'); |
55 |
saltFile = mit_getparm('data','hydrogSaltFile'); |
56 |
if isempty(saltFile) | saltFile == ' '; |
57 |
sdatamean = repmat(NaN,size(grd.hfacc)); |
58 |
else |
59 |
sdatamean = squeeze(mean(mit_readfield(saltFile,[nx ny nz 12],acc),4)); |
60 |
end |
61 |
|
62 |
if ~strcmp(grd.buoyancy,'OCEANIC'); |
63 |
sdatamean = sdatamean(:,:,end:-1:1); |
64 |
tdatamean = tdatamean(:,:,end:-1:1); |
65 |
end |