/[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.6 by jmc, Tue Apr 6 21:04:45 2010 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    
69    % create two time slabs for testing
70    uMerid = cat(3,u0*ones(nx,nz),zeros(nx,nz));
71    uZonal = cat(3,u0*ones(ny,nz),zeros(ny,nz));
72    sZonal = cat(3,s0*ones(ny,nz),s0*ones(ny,nz));
73    
74    fid=fopen('OBmeridU.bin','w',ieee); fwrite(fid,uMerid,prec); fclose(fid);
75    fid=fopen('OBzonalU.bin','w',ieee); fwrite(fid,uZonal,prec); fclose(fid);
76    fid=fopen('OBzonalS.bin','w',ieee); fwrite(fid,sZonal,prec); fclose(fid);
77    
78    %- rbcs mask & restauring tracer field:
79    msk=ones(nx,ny,nz);
80    xMx=max(x);
81    shapeX=(x-xMx)/dx;
82    shapeX=exp(shapeX*2/3);
83    
84    [I]=find(shapeX < 5.e-3); fprintf('zero out rbc-mask up to i= %i\n',max(I));
85    shapeX(I)=0.;
86    var=shapeX'*ones(1,ny*nz);
87    fid=fopen('rbcs_mask.bin','w',ieee); fwrite(fid,var,prec); fclose(fid);
88    
89    tr1=(si+s0)/2;
90    var=tr1*ones(nx,ny,nz);
91    fid=fopen('rbcs_Tr1_fld.bin','w',ieee); fwrite(fid,var,prec); fclose(fid);
92    
 % 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.6

  ViewVC Help
Powered by ViewVC 1.1.22