/[MITgcm]/MITgcm/verification/global_ocean.90x40x15/diags_matlab/nanmean.m
ViewVC logotype

Contents of /MITgcm/verification/global_ocean.90x40x15/diags_matlab/nanmean.m

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


Revision 1.1.2.1 - (show annotations) (download)
Wed Oct 23 18:26:35 2002 UTC (21 years, 8 months ago) by mlosch
Branch: release1
CVS Tags: release1_p12, release1_p10, release1_p16, release1_p15, release1_p11, release1_p14, release1_p13, release1_p17, release1_p8, release1_p9, release1_p6, release1_p7, release1_p13_pre, release1_p12_pre
Branch point for: release1_50yr
Changes since 1.1: +1 -1 lines
o fixed the verification/global_ocean.90x40x15 experiment:
 - new bathymetry (the world according to A., JMC, and M.)
 - new initial fields and forcing fields (*.bin files)
 - new POLY3.COEFFS (for the next release one should switch to a full
   equation of state)
 - fixed several errors and redundancies in the data file
 - experiment uses looped cells
 - added matlab directory with diagnostic scripts for plotting of output

1 function y = nanmean(x)
2 %NANMEAN Average or mean ignoring NaNs.
3 % NANMEAN(X) returns the average treating NaNs as missing values.
4 % For vectors, NANMEAN(X) is the mean value of the non-NaN
5 % elements in X. For matrices, NANMEAN(X) is a row vector
6 % containing the mean value of each column, ignoring NaNs.
7 %
8 % See also NANMEDIAN, NANSTD, NANMIN, NANMAX, NANSUM.
9
10 % Copyright 1993-2000 The MathWorks, Inc.
11 % $Revision: 1.1 $ $Date: 2002/10/22 13:30:40 $
12
13 if isempty(x) % Check for empty input.
14 y = NaN;
15 return
16 end
17
18 % Replace NaNs with zeros.
19 nans = isnan(x);
20 i = find(nans);
21 x(i) = zeros(size(i));
22
23 if min(size(x))==1,
24 count = length(x)-sum(nans);
25 else
26 count = size(x,1)-sum(nans);
27 end
28
29 % Protect against a column of all NaNs
30 i = find(count==0);
31 count(i) = ones(size(i));
32 y = sum(x)./count;
33 y(i) = i + NaN;

  ViewVC Help
Powered by ViewVC 1.1.22