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

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

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

revision 1.1 by adcroft, Tue Dec 15 00:02:27 1998 UTC revision 1.7 by jmc, Mon May 2 19:35:38 2011 UTC
# Line 1  Line 1 
1  % This is a matlab script that generates the input data  % This is a matlab script that generates the input data
2    
3    % $Header$
4    % $Name$
5    
6  % Dimensions of grid  % Dimensions of grid
7  nx=80;  nx=80;
8  ny=42;  ny=42;
# Line 22  g=9.81; Line 25  g=9.81;
25  % E.O.S.  % E.O.S.
26  alpha=2.e-4;  alpha=2.e-4;
27    
28  Tz=N^2/(g*alpha)  Tz=N^2/(g*alpha);
29    fprintf(' Tz= %e ;',Tz);
30    
31  dz=H/nz;  dz=H/nz;
32  sprintf('delZ = %d * %7.6g,',nz,dz)  fprintf(' delZ = %d * %7.6g\n',nz,dz);
33    
34  x=(1:nx)*dx;x=x-mean(x);  x=(1:nx)*dx;x=x-mean(x);
35  y=(1:ny)*dx;y=y-mean(y);  y=(1:ny)*dx;y=y-mean(y);
# Line 34  z=-dz/2:-dz:-H; Line 38  z=-dz/2:-dz:-H;
38  [Y,X]=meshgrid(y,x);  [Y,X]=meshgrid(y,x);
39    
40  % Temperature profile  % Temperature profile
41  [sprintf('Tref =') sprintf(' %8.6g,',Tz*z-mean(Tz*z))]  fprintf('Tref ='); fprintf(' %8.6g,',Tz*z-mean(Tz*z)); fprintf('\n');
42    
43    ieee='b';
44    prec='real*8';
45    
46  % Gaussian bump  % Gaussian bump
47  h=-H+dh*exp( -(X.^2+Y.^2)/(2*(L^2)) );  h=-H+dh*exp( -(X.^2+Y.^2)/(2*(L^2)) );
48  f77write('topog.bump',h,'real*8','b');  fid=fopen('topog.bump','w',ieee); fwrite(fid,h,prec); fclose(fid);
49    
50    % $$$ % Side walls + bump
51    % $$$ h(:,1)=0;
52    % $$$ h(:,ny)=0;
53    % $$$ fid=fopen('topog.bumpchannel','w',ieee); fwrite(fid,h,prec); fclose(fid);
54    
55    % $$$ % Simple channel
56    % $$$ h(:,1)=0;
57    % $$$ h(:,2:ny-1)=-H;
58    % $$$ h(:,ny)=0;
59    % $$$ fid=fopen('topog.channel','w',ieee); fwrite(fid,h,prec); fclose(fid);
60    
61    % initial fields for salinity
62    si = 35;
63    %fid=fopen('S.init','w',ieee); fwrite(fid,si*ones(nx,ny,nz),prec); fclose(fid);
64    
65    % open boundary conditions;
66    u0 = .25;
67    s0 = si+1;
68    w0= 1.e-3;
69    
70    % create two time slabs for testing
71    uMerid = cat(3,u0*ones(nx,nz),u0*ones(nx,nz));
72    uZonal = cat(3,u0*ones(ny,nz),  zeros(ny,nz));
73    sZonal = cat(3,s0*ones(ny,nz),s0*ones(ny,nz));
74    
75    %- time varying fraction = 1 % of full velocity
76    du=u0*0.01;
77    uWest = cat(3,(u0+du)*ones(ny,nz),(u0-du)*ones(ny,nz));
78    uEast = cat(3,(u0-du)*ones(ny,nz),(u0+du)*ones(ny,nz));
79    
80    % to test Non-Hydrostatic OBCS:
81    w1=[0:nz-1]*pi/nz; w1=-w0*sin(w1);
82    wZonal = cat (3, ones(ny,1)*w1, zeros(ny,nz));
83    
84     fid=fopen('OBmeridU.bin','w',ieee); fwrite(fid,uMerid,prec); fclose(fid);
85    %fid=fopen('OBzonalU.bin','w',ieee); fwrite(fid,uZonal,prec); fclose(fid);
86     fid=fopen('OB_WestU.bin','w',ieee); fwrite(fid,uWest ,prec); fclose(fid);
87     fid=fopen('OB_EastU.bin','w',ieee); fwrite(fid,uEast ,prec); fclose(fid);
88     fid=fopen('OBzonalS.bin','w',ieee); fwrite(fid,sZonal,prec); fclose(fid);
89     fid=fopen('OBzonalW.bin','w',ieee); fwrite(fid,wZonal,prec); fclose(fid);
90    
91    %- rbcs mask & restauring tracer field:
92    msk=ones(nx,ny,nz);
93    xMx=max(x);
94    shapeX=(x-xMx)/dx;
95    shapeX=exp(shapeX*2/3);
96    
97    [I]=find(shapeX < 5.e-3); fprintf('zero out rbc-mask up to i= %i\n',max(I));
98    shapeX(I)=0.;
99    var=shapeX'*ones(1,ny*nz);
100    fid=fopen('rbcs_mask.bin','w',ieee); fwrite(fid,var,prec); fclose(fid);
101    
102    tr1=(si+s0)/2;
103    var=tr1*ones(nx,ny,nz);
104    fid=fopen('rbcs_Tr1_fld.bin','w',ieee); fwrite(fid,var,prec); fclose(fid);
105    
 % Side walls + bump  
 h(:,1)=0;  
 h(:,ny)=0;  
 f77write('topog.bumpchannel',h,'real*8','b');  
   
 % Simple channel  
 h(:,1)=0;  
 h(:,2:ny)=0;  
 h(:,ny)=0;  
 f77write('topog.channel',h,'real*8','b');  

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22