/[MITgcm]/MITgcm_contrib/tides/create_bc_grid.m
ViewVC logotype

Annotation of /MITgcm_contrib/tides/create_bc_grid.m

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


Revision 1.1 - (hide annotations) (download)
Thu Mar 21 01:30:27 2013 UTC (11 years, 1 month ago) by dimitri
Branch: MAIN
CVS Tags: HEAD
adding Xiochun Wang's scripts for computing tidal forcing for regional
MITgcm configurations

1 dimitri 1.1 % function create_bc_grid(dir_in, nx, ny, nz, cbdry)
2     %
3     % Input: dir_in, directory that has MITgcm grid files
4     % (following files are expected,
5     % YC.data. XC.data, hFacC.data
6     % RF.data, AngleCS.data, AngleSN.data )
7     % nx, first dimension of MITgcm grid, (west-east)
8     % ny, second dimension of MITgcm grid (south-north)
9     % nz, dimension in z (or r) direction
10     % cbdry, character for bdry to generate: s, n, w, e, (south, north, west, east)
11     %
12     % Output: No output
13     % The script will generate a grid file named
14     % bdry_grid_[snwe].mat
15     %
16     %
17     % XC WANG 25jan2013
18     % Modified 01feb2013
19     %
20     %
21     function create_bc_grid(dir_in,nx,ny,nz,cbdry)
22    
23     % addpath /data17/home/xiao/Mat_Tools/MITgcm_Tool
24    
25     % Default location of boundary
26     ny_north = ny -1 ; ny_south=1;
27     nx_west = 1; nx_east=nx-1 ;
28    
29     %dir_in=['/data17/XCW_output/Grid/data/'];
30     % Three boundaries, South, North and West
31     %ibc = 2;
32     %c_bdry3 = {'s', 'n', 'w', 'e'} ;
33     %c_bdry = c_bdry3{ibc} ;
34     %%bdry_file=['bdry_grid_',c_bdry, '.mat.test'];
35     %bdry_file=['bdry_grid_',c_bdry, '.mat'];
36    
37     ufile = ['YC.data'];
38     ufile1 = [dir_in, ufile];
39     lat = readbin(ufile1, [nx ny]) ;
40    
41     ufile = ['XC.data'];
42     ufile1 = [dir_in, ufile];
43     lon = readbin(ufile1, [nx ny]) ;
44    
45     %ufile = ['Depth.data'];
46     %ufile1 = [dir_in, ufile];
47     %depth = readbin(ufile1, [nx ny]) ;
48    
49     rf=-readbin([dir_in, 'RF.data'], nz+1) ;
50     thk=diff(rf) ;
51    
52     hfac =readbin([dir_in, 'hFacC.data'], [nx ny nz]) ;
53     %obmask = squeeze(hfac(:, ny_north, :)) ;
54     thk3d = zeros(size(hfac)) ;
55     for k =1:nz
56     temp1 = squeeze(hfac(:,:, k)) ;
57     thk3d(:,:, k) = thk(k) * temp1 ;
58     end
59     depth = sum(thk3d, 3) ;
60     %depth_bc = depth2d(:, ny_north) ;
61    
62     anglefile = ['AngleCS.data'] ;
63     tfile1 = [dir_in, anglefile];
64     AngleCS = readbin(tfile1, [nx ny]) ;
65    
66     anglefile = ['AngleSN.data'] ;
67     tfile1 = [dir_in, anglefile];
68     AngleSN = readbin(tfile1, [nx ny]) ;
69    
70     %%bdry_file=['bdry_grid_',c_bdry, '.mat.test'];
71     bdry_file=['bdry_grid_',cbdry, '.mat'];
72     switch cbdry
73     case 's'
74     lat_bc=lat(:, ny_south);
75     lon_bc=lon(:, ny_south) ;
76     depth_bc=depth(:, ny_south) ;
77     AngleCS_bc = AngleCS(:,ny_south);
78     AngleSN_bc = AngleSN(:,ny_south);
79     %bdry_file=['bdry_grid_',c_bdry, '.mat'];
80     case 'n'
81     lat_bc=lat(:, ny_north);
82     lon_bc=lon(:, ny_north) ;
83     depth_bc=depth(:, ny_north) ;
84     AngleCS_bc = AngleCS(:,ny_north);
85     AngleSN_bc = AngleSN(:,ny_north);
86     case 'w'
87     lat_bc=lat(nx_west,:);
88     lon_bc=lon(nx_west,:) ;
89     depth_bc=depth(nx_west,:) ;
90     AngleCS_bc = AngleCS(nx_west,:);
91     AngleSN_bc = AngleSN(nx_west,:);
92     case 'e'
93     lat_bc=lat(nx_east,:);
94     lon_bc=lon(nx_east,:) ;
95     depth_bc=depth(nx_east,:) ;
96     AngleCS_bc = AngleCS(nx_east,:);
97     AngleSN_bc = AngleSN(nx_east,:);
98     otherwise
99     display('No such selection ', cbdry)
100     return
101     end
102    
103     %rad2deg = 180/pi;
104     %angle = atan2(AngleSN, AngleCS);
105     %angle = angle*rad2deg ;
106    
107     save(bdry_file, 'lat_bc', 'lon_bc', 'depth_bc', 'AngleCS_bc', 'AngleSN_bc') ;
108    
109     return

  ViewVC Help
Powered by ViewVC 1.1.22