| 1 |
% function tide_bc_empty(nx, ny, cbdry_used, tide_num) |
| 2 |
% |
| 3 |
% |
| 4 |
% Make a dummy tidal bc for cbdry_used {'s', 'n', 'w', 'e'} |
| 5 |
% based on the size on nx and ny with zero amplitude and phase |
| 6 |
% |
| 7 |
% Input: nx, first dimension of MITgcm |
| 8 |
% ny, second dimension of MITgcm |
| 9 |
% tide_num, used to decide the dimension of boundary bc file [length, num of tidal constituent] |
| 10 |
% cddry_used, boundary {'s', 'n', 'w', 'e'} to generate empty tidal bc file |
| 11 |
% |
| 12 |
% |
| 13 |
% |
| 14 |
% tide_num[nc<10], Which tide to include, |
| 15 |
% m2 s2 n2 k2 k1 o1 p1 q1 mf mm |
| 16 |
% 1 2 3 4 5 6 7 8 9 10 |
| 17 |
% |
| 18 |
% OB[N,S,E,W][am,ph]File :: Files with boundary conditions, |
| 19 |
% the letter combinations mean: |
| 20 |
% N/S/E/W :: northern/southern/eastern/western boundary |
| 21 |
% am/ph :: tidal amplitude (m/s) / radian |
| 22 |
% |
| 23 |
% |
| 24 |
% XC WANG /12/12/2012 |
| 25 |
% |
| 26 |
%addpath /data17/home/xiao/CAT/Tool/TMD2.03 |
| 27 |
function tide_bc_empty(nx, ny, cbdry_used, tide_num) |
| 28 |
|
| 29 |
% addpath /data17/home/xiao/CAT/Tool/TMD2.03 |
| 30 |
|
| 31 |
%model_file =['Model_CATS2008a_opt']; |
| 32 |
model_file =['Model_CATS2008b_km']; |
| 33 |
|
| 34 |
% Dimension of Boundary files |
| 35 |
% NX, grid points in horizontal direction |
| 36 |
% NH, grid points in vertical direction |
| 37 |
% Use the first records to create tidal BC |
| 38 |
%NX=640; NY=640; NH=70; month_in = 1; |
| 39 |
NX = nx; NY=ny ; |
| 40 |
|
| 41 |
% |
| 42 |
rad2deg = 180/pi ; |
| 43 |
deg2rad = pi/180 ; |
| 44 |
|
| 45 |
% Set the Boundary to add tides |
| 46 |
% AngleCS_bc, AngleSN_bc are the Cos and Sin and angle of U axis of MITgcm |
| 47 |
% from due east |
| 48 |
%ibc = 3 ; |
| 49 |
% ibc = 4 ; |
| 50 |
c_bdry3 = cbdry_used ; |
| 51 |
|
| 52 |
for ibc =length(c_bdry3) |
| 53 |
|
| 54 |
c_bdry=c_bdry3{ibc} ; |
| 55 |
|
| 56 |
|
| 57 |
% Characters for Model Tidal BC file |
| 58 |
cob=upper(c_bdry) ; |
| 59 |
fld={'am','ph'} ; |
| 60 |
|
| 61 |
|
| 62 |
if any(strcmp(cob, {'N','S'})) |
| 63 |
OBlength = NX ; |
| 64 |
else |
| 65 |
OBlength = NY ; |
| 66 |
end |
| 67 |
|
| 68 |
|
| 69 |
% Try for one tides only |
| 70 |
% tide_num = 1:c8 ; |
| 71 |
%tide_num = 5 ; |
| 72 |
|
| 73 |
amp_all = zeros(OBlength, length(tide_num)) ; |
| 74 |
pha_all = zeros(OBlength, length(tide_num)) ; |
| 75 |
|
| 76 |
|
| 77 |
|
| 78 |
% Write to file |
| 79 |
cfld = fld{1} ; |
| 80 |
fnm=['OB' cob cfld '.seaice_obcs']; |
| 81 |
%fnm=['OB' cob cfld '.seaice_obcs.k1']; |
| 82 |
writebin(fnm, amp_all) ; |
| 83 |
|
| 84 |
|
| 85 |
cfld = fld{2} ; |
| 86 |
fnm=['OB' cob cfld '.seaice_obcs']; |
| 87 |
%fnm=['OB' cob cfld '.seaice_obcs.k1']; |
| 88 |
writebin(fnm, pha_all) ; |
| 89 |
|
| 90 |
end |
| 91 |
|
| 92 |
return |