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

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

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


Revision 1.1.4.1 - (show annotations) (download)
Wed Feb 6 15:48:10 2002 UTC (22 years, 4 months ago) by heimbach
Branch: ecco-branch
CVS Tags: icebear5, icebear4, icebear3, icebear2, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, ecco_ice2, ecco_ice1, ecco_c44_e22, ecco_c44_e25, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5
Branch point for: c24_e25_ice, icebear
Changes since 1.1: +1 -1 lines
Updating ecco-branch-mod1 to checkpoint44.
Will be tagged ecco-branch-mod2.

1 function [hc,hh,hcf] = contourfv(x,z,h,a,varargin)
2 % CONTOURFV(X,Z,H,A)
3 %
4 % Is the same as CONTOURF 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 CONTOURF
14 %
15 % $Header: /u/gcmpack/MITgcm/utils/matlab/contourfv.m,v 1.1 2001/11/21 17:56:43 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 [hc hh hcf]=contourf(X,Z,A,varargin{:});

  ViewVC Help
Powered by ViewVC 1.1.22