/[MITgcm]/MITgcm/utils/matlab/pcolorfv.m
ViewVC logotype

Contents of /MITgcm/utils/matlab/pcolorfv.m

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


Revision 1.1.4.2 - (show annotations) (download)
Fri Mar 7 05:24:37 2003 UTC (18 years, 6 months ago) by heimbach
Branch: ecco-branch
CVS Tags: ecco_c50_e32, ecco_c50_e33, ecco_c50_e30, ecco_c50_e31, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, ecco_c50_e29, ecco_c50_e28, ecco_c50_e33a, ecco_c51_e34
Changes since 1.1.4.1: +0 -0 lines
merging c49 and e27

1 function [hc,hh,hcf] = pcolorfv(x,z,h,a,varargin)
2 % PCOLORFV(X,Z,H,A)
3 %
4 % Is the same as PCOLORFV except it automatically extends the dataset
5 % to the depth of the topography "H". This is srictly for plotting
6 % vertical (x,z) sections in conjuction with "partial cells" in the MITgcm.
7 %
8 % X is horizontal coordinate (vector)
9 % Z is vertical coordinate (vector)
10 % H is depth of bottom (vector)
11 % A is field to be plotted (matrix)
12 %
13 % Optional arguments are passed on to PCOLOR
14 %
15 % $Header: /u/gcmpack/MITgcm/utils/matlab/pcolorfv.m,v 1.1 2001/11/21 19:18:10 adcroft Exp $
16
17 nx=prod(size(x));
18 nz=prod(size(z));
19 %max(size(h))
20 %prod(size(h))
21 if max(size(h)) ~= prod(size(h)) | prod(size(h)) ~= nx
22 error('H must have dimensions of size(X)');
23 end
24 ndims(squeeze(a))
25 size(squeeze(a))
26 if ndims(squeeze(a)) ~= 2 | sum(size(squeeze(a)) ~= [nx nz])
27 error('A must have dimensions of size(X) x size(H)');
28 end
29
30 % Create extended Z coordinate
31 zz=zeros(1,nz+2);
32 zz(2:nz+1)=z;
33 zz(1)=0;
34 zz(nz+2)=1.5*z(nz)-0.5*z(nz-1);
35
36 [Z,X]=meshgrid(zz,x);
37
38 aa=squeeze(a);
39 au=aa(:,[1 1:nz-1]);
40 aa(isnan(aa))=au(isnan(aa));
41 A=zeros(nx,nz+2);
42 A(:,2:nz+1)=aa;
43 A(:,1)=aa(:,1);
44 A(:,nz+2)=aa(:,nz);
45 clear aa au
46
47 [Hz,Hx]=meshgrid(zz,h);
48 clear Hz
49
50
51 % H might be positive...
52 if min(z)*min(h) > 0
53 Z=max(Z,Hx);
54 else
55 Z=max(Z,-Hx);
56 end
57 clear Hx
58
59 pcolor(X,Z,A,varargin{:});

  ViewVC Help
Powered by ViewVC 1.1.22