/[MITgcm]/MITgcm_contrib/high_res_cube/eddy_flux/from_Dimitris/meanslices.m
ViewVC logotype

Contents of /MITgcm_contrib/high_res_cube/eddy_flux/from_Dimitris/meanslices.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Tue Aug 3 15:54:26 2004 UTC (20 years, 11 months ago) by edhill
Branch: MAIN
CVS Tags: HEAD
 o sanitizing and checking in parts of the eddy flux diagnostics

1 function m = meanslices(fpat, ilist, ns, nps)
2
3 % Function m = meanslices(ilist, ns, nps)
4 %
5 %
6 % INPUTS
7 % fpat string containing file pattern
8 % ilist list of iteration values
9 % ns number of slices to process at at time
10 % nps number of values per slice
11 %
12 % OUTPUTS
13 % m output array of dimension ns*nps
14
15
16 if nargin ~= 4
17 disp('Error: wrong number of arguments')
18 end
19
20 deltatT = 1200; % model time step size (s)
21 tavefreq = 259200; % averaging period (s)
22 startDate = datenum(1992,1,1); % model integration starting date
23
24 oldyear = -1;
25 newyear = oldyear;
26
27 is = 1;
28 for is = 1:ns
29
30 disp(['Processing slice: ' sprintf('%d',is)]);
31 nm = 0;
32 m = zeros(nps,1);
33
34 i = 1;
35 for i = 1:length(ilist)
36
37 iter = ilist(i);
38 str = datestr(startDate + (iter*deltatT-tavefreq/2)/60/60/24);
39 dv = datevec(startDate + (iter*deltatT-tavefreq/2)/60/60/24);
40 newyear = dv(1);
41
42 fname = sprintf(fpat, ilist(i));
43 disp([' ' fname ' ' str]);
44 fid = fopen(fname, 'r', 'ieee-be');
45 offset = (is - 1)*nps*4;
46 fseek(fid, offset, 'bof');
47 tmp = fread(fid, nps, 'real*4');
48 fclose(fid);
49
50 if (newyear ~= oldyear) && (nm > 0)
51 fnout = sprintf('ave-%d', oldyear);
52 disp([' ==> Writing file "' fnout '"']);
53 fido = fopen(fnout, 'a', 'ieee-be');
54 % fseek(fido, offset, 'bof');
55 m = m / nm;
56 fwrite(fido, m, 'real*4');
57 fclose(fido);
58 m = zeros(nps,1);
59 nm = 0;
60 end
61 m = m + tmp;
62 nm = nm + 1;
63
64 oldyear = newyear;
65
66 end
67 end

  ViewVC Help
Powered by ViewVC 1.1.22