/[MITgcm]/MITgcm/verification/adjustment.cs-32x32x1/input/gendata.m
ViewVC logotype

Diff of /MITgcm/verification/adjustment.cs-32x32x1/input/gendata.m

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

revision 1.2 by adcroft, Tue May 29 14:01:45 2001 UTC revision 1.3 by jmc, Sat Apr 18 20:21:17 2009 UTC
# Line 1  Line 1 
1  clear all  % This is a matlab script that generates the input data
2  nx=32;ny=nx;ntx=6;  
3    % $Header$
4    % $Name$
5    
6    nx=32; ny=nx; nf=6;
7    kwr=1;
8    
9    %- flat bottom bathy with rectangular island on face 2
10    dp=ones(nx,nf,ny);
11    Htot=1366;
12    dp=-Htot*dp;
13    
14    fc=2;
15    i1=1; i2=nx; j1=ny/4 ; j2=1+3*ny/4;
16    dp(:,fc,j1:j2)=0;
17    dp(nx,1,j1:j2)=0;
18    dp(j1:j2,4,1)=0;
19    
20    if kwr > 0,
21     fid=fopen('bathy_f2.bin','w','b');
22     fwrite(fid,dp,'real*8');
23     fclose(fid);
24    end
25    
26    %----------
27    
28    h=zeros(nx,nf,ny);
29    
30    x=0.25*((0.5:nx)/nx-0.5);
31    [X,Y]=ndgrid(x,x);
32    R=sqrt(X.^2+Y.^2);
33    
34    
35    tileno=1;
36    
 % Generate initial surface pressure  
 h=zeros(nx,ntx,ny);  
 tileno=2;  
37  o=1;  o=1;
38  i=round(nx*1/2);  i=round(nx*1/2);
39  j=round(ny*1/2);  j=round(ny*1/2);
40  h(i:i+o,tileno,j:j+o)=1;  h(i:i+o,tileno,j:j+o)=1;
41    
42  fid=fopen('square.bin','w','b');  h(:,1,:)=0.5+0.5*cos(   pi*min(R,0*R+0.04)/0.04 );
43  fwrite(fid,h,'real*8');  
44  fclose(fid);  %- 10 m max SSH anomaly:
45    h=h*10;
46  % Read grid info and convert to model input files  
47    if kwr > 0,
48  % DXC   fid=fopen('ssh_eq.bin','w','b');
49  fid=fopen('DXC.tile','r','b');q=fread(fid,[nx nx],'real*8');fclose(fid);   fwrite(fid,h,'real*8');
50  Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;   fclose(fid);
51  fid=fopen('DXC.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  end
52  % DYC  
53  q=q';  return
54  Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  %----------
55  fid=fopen('DYC.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  % plot to check : ----------
56    rDir='/home/jmc/grid_cs32/';
57  % DXG  G=load_grid(rDir,10);
58  fid=fopen('DXG.tile','r','b');q=fread(fid,[nx nx],'real*8');fclose(fid);  nc=G.dims(2); %nr=G.dims(3); nPxy=G.dims(1)*G.dims(2); nPp2=nPxy+2;
59  Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  ccB=[0 0]; shift=-1; cbV=0; AxBx=[-180 180 -90 90]; kEnv=0;
60  fid=fopen('DXG.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
61  % DYG  figure(1);clf;
62  q=q';  var=reshape(dp,[nx*nf ny]);
63  Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  grph_CS(var,G.xC,G.yC,G.xG,G.yG,ccB(1),ccB(2),shift,cbV,AxBx,kEnv);
64  fid=fopen('DYG.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
65    figure(2);clf;
66  % DXF  var=reshape(h,[nx*nf ny]);
67  fid=fopen('DXF.tile','r','b');q=fread(fid,[nx nx],'real*8');fclose(fid);  grph_CS(var,G.xC,G.yC,G.xG,G.yG,ccB(1),ccB(2),shift,cbV,AxBx,kEnv);
68  Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
69  fid=fopen('DXF.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  %----------
 % DYF  
 q=q';  
 Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
 fid=fopen('DYF.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 % DXV  
 fid=fopen('DXV.tile','r','b');q=fread(fid,[nx nx],'real*8');fclose(fid);  
 Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
 fid=fopen('DXV.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
 % DYU  
 q=q';  
 Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
 fid=fopen('DYU.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 % RAW  
 fid=fopen('RAW.tile','r','b');q=fread(fid,[nx nx],'real*8');fclose(fid);  
 Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
 fid=fopen('RAW.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
 % RAS  
 q=q';  
 Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
 fid=fopen('RAS.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 % RA  
 fid=fopen('RA.tile','r','b');q=fread(fid,[nx nx],'real*8');fclose(fid);  
 Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
 fid=fopen('RA.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 % RAZ  
 fid=fopen('RAZ.tile','r','b');q=fread(fid,[nx nx],'real*8');fclose(fid);  
 Q(1:nx,:)=q;Q(nx+(1:nx),:)=q;Q(2*nx+(1:nx),:)=q;Q(3*nx+(1:nx),:)=q;Q(4*nx+(1:nx),:)=q;Q(5*nx+(1:nx),:)=q;  
 fid=fopen('RAZ.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 % LONC  
 fid=fopen('LONC.tile','r','b');q=fread(fid,[nx nx*6],'real*8');fclose(fid);  
 q=reshape(q,[nx nx 6]);  
 Q(1:nx,:)=q(:,:,1);Q(nx+(1:nx),:)=q(:,:,2);Q(2*nx+(1:nx),:)=q(:,:,3);Q(3*nx+(1:nx),:)=q(:,:,4);Q(4*nx+(1:nx),:)=q(:,:,5);Q(5*nx+(1:nx),:)=q(:,:,6);  
 fid=fopen('LONC.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 % LATC  
 fid=fopen('LATC.tile','r','b');q=fread(fid,[nx nx*6],'real*8');fclose(fid);  
 q=reshape(q,[nx nx 6]);  
 Q(1:nx,:)=q(:,:,1);Q(nx+(1:nx),:)=q(:,:,2);Q(2*nx+(1:nx),:)=q(:,:,3);Q(3*nx+(1:nx),:)=q(:,:,4);Q(4*nx+(1:nx),:)=q(:,:,5);Q(5*nx+(1:nx),:)=q(:,:,6);  
 fid=fopen('LATC.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 lat=reshape(Q,[nx ntx nx]);  
 rad=30;  
 h=100*0.5*(1-cos( max(lat-90+rad,0)/rad*pi ));  
 fid=fopen('cos.bin','w','b');fwrite(fid,h,'real*8');fclose(fid);  
 h(:,2,:)=h(:,3,:);h(:,3,:)=0;  
 fid=fopen('cos_equator.bin','w','b');fwrite(fid,h,'real*8');fclose(fid);  
   
 % LONG  
 fid=fopen('LONG.tile','r','b');q=fread(fid,[nx+1 (nx+1)*6],'real*8');fclose(fid);  
 q=reshape(q,[nx+1 nx+1 6]);  
 q=q(1:nx,1:nx,:);  
 Q(1:nx,:)=q(:,:,1);Q(nx+(1:nx),:)=q(:,:,2);Q(2*nx+(1:nx),:)=q(:,:,3);Q(3*nx+(1:nx),:)=q(:,:,4);Q(4*nx+(1:nx),:)=q(:,:,5);Q(5*nx+(1:nx),:)=q(:,:,6);  
 fid=fopen('LONG.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  
   
 % LATG  
 fid=fopen('LATG.tile','r','b');q=fread(fid,[nx+1 (nx+1)*6],'real*8');fclose(fid);  
 q=reshape(q,[nx+1 nx+1 6]);  
 q=q(1:nx,1:nx,:);  
 Q(1:nx,:)=q(:,:,1);Q(nx+(1:nx),:)=q(:,:,2);Q(2*nx+(1:nx),:)=q(:,:,3);Q(3*nx+(1:nx),:)=q(:,:,4);Q(4*nx+(1:nx),:)=q(:,:,5);Q(5*nx+(1:nx),:)=q(:,:,6);  
 fid=fopen('LATG.bin','w','b');fwrite(fid,Q,'real*8');fclose(fid);  

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22