/[MITgcm]/MITgcm/verification/exp4/input/gendata.m
ViewVC logotype

Contents of /MITgcm/verification/exp4/input/gendata.m

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


Revision 1.5 - (show annotations) (download)
Wed Oct 7 23:39:38 2009 UTC (14 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62c, checkpoint62a, checkpoint62d, checkpoint62, checkpoint62b, checkpoint61z, checkpoint61w, checkpoint61x, checkpoint61y
Changes since 1.4: +1 -1 lines
no need to read a uniform initial salinity from a file

1 % This is a matlab script that generates the input data
2
3 % Dimensions of grid
4 nx=80;
5 ny=42;
6 nz=8;
7 % Nominal depth of model (meters)
8 H=4500;
9 % Scale of bump (m)
10 L=25e3;
11 % Height of bump (m)
12 dh=0.90*H;
13 % Horizontal resolution (m)
14 dx=5e3;
15 % Rotation
16 f=1e-4;
17 % Stratification
18 N=1.5 * f*L/H;
19
20 % Gravity
21 g=9.81;
22 % E.O.S.
23 alpha=2.e-4;
24
25 Tz=N^2/(g*alpha)
26
27 dz=H/nz;
28 sprintf('delZ = %d * %7.6g,',nz,dz)
29
30 x=(1:nx)*dx;x=x-mean(x);
31 y=(1:ny)*dx;y=y-mean(y);
32 z=-dz/2:-dz:-H;
33
34 [Y,X]=meshgrid(y,x);
35
36 % Temperature profile
37 [sprintf('Tref =') sprintf(' %8.6g,',Tz*z-mean(Tz*z))]
38
39 ieee='b';
40 accuracy='real*8';
41
42 % Gaussian bump
43 h=-H+dh*exp( -(X.^2+Y.^2)/(2*(L^2)) );
44 fid=fopen('topog.bump','w',ieee); fwrite(fid,h,accuracy); fclose(fid);
45
46 % $$$ % Side walls + bump
47 % $$$ h(:,1)=0;
48 % $$$ h(:,ny)=0;
49 % $$$ fid=fopen('topog.bumpchannel','w',ieee); fwrite(fid,h,accuracy); fclose(fid);
50
51 % $$$ % Simple channel
52 % $$$ h(:,1)=0;
53 % $$$ h(:,2:ny-1)=-H;
54 % $$$ h(:,ny)=0;
55 % $$$ fid=fopen('topog.channel','w',ieee); fwrite(fid,h,accuracy); fclose(fid);
56
57 % initial fields for salinity
58 si = 35;
59 %fid=fopen('S.init','w',ieee); fwrite(fid,si*ones(nx,ny,nz),accuracy); fclose(fid);
60
61 % open boundary conditions;
62 u0 = .25;
63 s0 = si+1;
64
65 % create two time slabs for testing
66 uMerid = cat(3,u0*ones(nx,nz),zeros(nx,nz));
67 uZonal = cat(3,u0*ones(ny,nz),zeros(ny,nz));
68 sZonal = cat(3,s0*ones(ny,nz),s0*ones(ny,nz));
69
70 fid=fopen('OBmeridU.bin','w',ieee); fwrite(fid,uMerid,accuracy); fclose(fid);
71 fid=fopen('OBzonalU.bin','w',ieee); fwrite(fid,uZonal,accuracy); fclose(fid);
72 fid=fopen('OBzonalS.bin','w',ieee); fwrite(fid,sZonal,accuracy); fclose(fid);

  ViewVC Help
Powered by ViewVC 1.1.22