/[MITgcm]/MITgcm/verification/so_box_biogeo/input/mk_obConnect.m
ViewVC logotype

Contents of /MITgcm/verification/so_box_biogeo/input/mk_obConnect.m

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


Revision 1.1 - (show annotations) (download)
Tue Nov 25 01:15:51 2014 UTC (9 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, HEAD
add example of OB-conect files to compute Velocity-Potential in OB domain

1
2 rDir='../run/'; nf=0;
3 kwr=1;
4
5 %-----------------------------
6 gDir=rDir; %gDir='res_ex2/';
7 G=load_grid(gDir);
8 nx=G.dims(1); ny=G.dims(2); nr=G.dims(3);
9 nPxy=nx*ny; npx=nx+1; npy=ny+1;
10 %-----------------------------
11
12 mskInC=rdmds([rDir,'maskInC']);
13 mskInW=rdmds([rDir,'maskInW']);
14 mskInS=rdmds([rDir,'maskInS']);
15
16 msk=G.hFacC;
17 msk=min(msk,1); msk=ceil(msk); msk1=msk(:,:,1);
18
19 ccB=[-1 2];
20 xax=G.xAxC ; yax=G.yAxC;
21 dxRed=0.1; dyRed=0; dxB=0.02; dyB=0.9;
22 [xyP,xyB]=def_subP(2,dxRed,dyRed,dxB,dyB);
23 xtxt=mean(xax); ytxt=yax(1)-(yax(end)-yax(1))*0.11;
24
25 %-- mask at OB:
26 mskOBw=squeeze(G.hFacW(2,:,:));
27 mskOBe=squeeze(G.hFacW(nx,:,:));
28 mskOBn=squeeze(G.hFacS(:,ny,:));
29 mskOBw=ceil(mskOBw);
30 mskOBe=ceil(mskOBe);
31 mskOBn=ceil(mskOBn);
32
33 %-- make connected pieces Id "by hand" (+ lot to check):
34 k=12;
35 nf=nf+1; figure(nf);clf; nsp=0;
36 nsp=nsp+1; axes('position',xyP(nsp,:));
37 var=mskInC;
38 var(find(msk(:,:,k)==0))=NaN;
39 %mnV=min(var(:)); MxV=max(var(:));
40 imagesc(xax,yax,var'); set(gca,'YDir','normal');%colorbar('horiz');
41 if ccB(2) > ccB(1), caxis(ccB); end
42 change_colmap(-1);
43 BB=colorbar; set(BB,'Position',xyB(nsp,:));
44 %text(xtxt,ytxt,sprintf('min,Max= %9.5g , %9.5g', mnV, MxV))
45 title(['maskInC + domain @ k= ',int2str(k)]);
46
47 k=13;
48 mskOBw(11:ny,k)=2*mskOBw(11:ny,k);
49 mskOBn(1,k)=2*mskOBn(1,k);
50 mskOBn(21:nx-2,k)=3*mskOBn(21:nx-2,k);
51 mskOBn(nx-1:nx,k)=4*mskOBn(nx-1:nx,k);
52 mskOBe(1:10,k)=3*mskOBe(1:10,k);
53 mskOBe(12:15,k)=5*mskOBe(12:15,k);
54 mskOBe(17:ny,k)=4*mskOBe(17:ny,k);
55
56 nsp=nsp+1; axes('position',xyP(nsp,:));
57 var=mskInC;
58 var(find(msk(:,:,k)==0))=NaN;
59 imagesc(xax,yax,var'); set(gca,'YDir','normal');%colorbar('horiz');
60 if ccB(2) > ccB(1), caxis(ccB); end
61 change_colmap(-1);
62 BB=colorbar; set(BB,'Position',xyB(nsp,:));
63 title(['maskInC + domain @ k= ',int2str(k)]);
64
65 k=14;
66 mskOBw(11:ny,k)=2*mskOBw(11:ny,k);
67 mskOBn(1,k)=2*mskOBn(1,k);
68 mskOBn(1:20,k)=5*mskOBn(1:20,k);
69 mskOBn(21:nx-2,k)=3*mskOBn(21:nx-2,k);
70 mskOBn(nx-1:nx,k)=4*mskOBn(nx-1:nx,k);
71 mskOBe(1:10,k)=3*mskOBe(1:10,k);
72 mskOBe(17:ny,k)=4*mskOBe(17:ny,k);
73
74 nf=nf+1; figure(nf);clf; nsp=0;
75 nsp=nsp+1; axes('position',xyP(nsp,:));
76 var=mskInC;
77 var(find(msk(:,:,k)==0))=NaN;
78 imagesc(xax,yax,var'); set(gca,'YDir','normal');%colorbar('horiz');
79 if ccB(2) > ccB(1), caxis(ccB); end
80 change_colmap(-1);
81 BB=colorbar; set(BB,'Position',xyB(nsp,:));
82 title(['maskInC + domain @ k= ',int2str(k)]);
83
84 k=15;
85 mskOBw(11:ny,k)=2*mskOBw(11:ny,k);
86 mskOBn(21:nx-2,k)=4*mskOBn(21:nx-2,k);
87 mskOBe(1:10,k)=3*mskOBe(1:10,k);
88
89 nsp=nsp+1; axes('position',xyP(nsp,:));
90 var=mskInC;
91 var(find(msk(:,:,k)==0))=NaN;
92 imagesc(xax,yax,var'); set(gca,'YDir','normal');%colorbar('horiz');
93 if ccB(2) > ccB(1), caxis(ccB); end
94 change_colmap(-1);
95 BB=colorbar; set(BB,'Position',xyB(nsp,:));
96 title(['maskInC + domain @ k= ',int2str(k)]);
97
98 prec='real*4';
99 if kwr > 0,
100 var=mskOBn; namf='connect_obN.bin';
101 fprintf(' write file: %-25s (%i %i)',namf,size(var));
102 fid=fopen(namf,'w','b'); fwrite(fid,var,prec); fclose(fid);
103 fprintf('\n');
104 var=mskOBe; namf='connect_obE.bin';
105 fprintf(' write file: %-25s (%i %i)',namf,size(var));
106 fid=fopen(namf,'w','b'); fwrite(fid,var,prec); fclose(fid);
107 fprintf('\n');
108 var=mskOBw; namf='connect_obW.bin';
109 fprintf(' write file: %-25s (%i %i)',namf,size(var));
110 fid=fopen(namf,'w','b'); fwrite(fid,var,prec); fclose(fid);
111 fprintf('\n');
112 %- also write a zero field
113 var=zeros(nx,nr); namf='zeros_obX.bin';
114 fprintf(' write file: %-25s (%i %i)',namf,size(var));
115 fid=fopen(namf,'w','b'); fwrite(fid,var,prec); fclose(fid);
116 fprintf('\n');
117 end
118
119 xob=[1:2*ny+nx]; zcp=G.rC; zfp=G.rF;
120 zc=[1:nr]; zf=0.5:nr+0.5;
121 xob=[1:nx]; yob=[1:ny];
122
123 ccB=[-0.2 5.2];
124 nf=nf+1; figure(nf); clf;
125 subplot(221);
126 var=mskOBw; var(find(var==0))=NaN;
127 imagesc(yob,zc,var'); set(gca,'YDir','reverse');%colorbar('horiz');
128 caxis(ccB);
129 change_colmap(-1);
130 colorbar;
131 title('mskOBw');
132
133 subplot(222);
134 var=mskOBe; var(find(var==0))=NaN;
135 imagesc(yob,zc,var'); set(gca,'YDir','reverse');%colorbar('horiz');
136 caxis(ccB);
137 %colorbar;
138 title('mskOBe');
139
140 subplot(212);
141 var=mskOBn; var(find(var==0))=NaN;
142 imagesc(xob,zc,var'); set(gca,'YDir','reverse');%colorbar('horiz');
143 caxis(ccB);
144 %colorbar;
145 title('mskOBn');
146
147 return
148
149 k1=1; ccB=[-1 2];
150 nf=nf+1; figure(nf);clf; nsp=0;
151 nsp=nsp+1; axes('position',xyP(nsp,:));
152 var=mskInW;
153 var(find(G.hFacW(:,:,k1)==0))=NaN;
154 mnV=min(var(:)); MxV=max(var(:));
155 imagesc(xax,yax,var'); set(gca,'YDir','normal');%colorbar('horiz');
156 %ccB=[mnV MxV]+[-1 1]*(MxV-mnV)*0.05;
157 if ccB(2) > ccB(1), caxis(ccB); end
158 change_colmap(-1);
159 BB=colorbar; set(BB,'Position',xyB(nsp,:));
160 text(xtxt,ytxt,sprintf('min,Max= %9.5g , %9.5g', mnV, MxV))
161 title(['maskInW + domain @ k= ',int2str(k1)]);
162
163 nsp=nsp+1; axes('position',xyP(nsp,:));
164 var=mskInS;
165 var(find(G.hFacS(:,:,k1)==0))=NaN;
166 mnV=min(var(:)); MxV=max(var(:));
167 imagesc(xax,yax,var'); set(gca,'YDir','normal');%colorbar('horiz');
168 if ccB(2) > ccB(1), caxis(ccB); end
169 change_colmap(-1);
170 BB=colorbar; set(BB,'Position',xyB(nsp,:));
171 text(xtxt,ytxt,sprintf('min,Max= %9.5g , %9.5g', mnV, MxV))
172 title(['maskInS + domain @ k= ',int2str(k1)]);

  ViewVC Help
Powered by ViewVC 1.1.22