/[MITgcm]/MITgcm/verification/seaice_obcs/input.tides/mk_tides.m
ViewVC logotype

Annotation of /MITgcm/verification/seaice_obcs/input.tides/mk_tides.m

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


Revision 1.1 - (hide annotations) (download)
Thu Nov 15 15:55:43 2012 UTC (11 years, 6 months ago) by dimitri
Branch: MAIN
adding tidal velocity forcing capability to obcs
 Modified Files:
  model/src/dynamics.F forward_step.F the_main_loop.F
  pkg/obcs/OBCS_FIELDS.h OBCS_OPTIONS.h OBCS_PARAMS.h
  OBCS_SEAICE.h obcs_apply_eta.F obcs_apply_r_star.F
  obcs_apply_surf_dr.F obcs_apply_ts.F obcs_apply_w.F
  obcs_calc.F obcs_check.F obcs_init_variables.F obcs_readparms.F
  verification/seaice_obcs/code/OBCS_OPTIONS.h
 Added Files:
  pkg/obcs/obcs_add_tides.F
  verification/seaice_obcs/input.tides/*
  verification/seaice_obcs/results/output.tides.txt

1 dimitri 1.1 % Generate example tidal input files.
2    
3     % Tidal input files are real*4 IEEE big-endian binary
4     % with dimenstion OBlength * tidalComponents,
5     % where OBlength is the length of the open boundary
6     % and tidalComponents is the number of tidal components
7     % specified in OBCS_PARAMS.h.
8    
9     % OB[N,S,E,W][am,ph]File :: Files with boundary conditions,
10     % the letter combinations mean:
11     % N/S/E/W :: northern/southern/eastern/western boundary
12     % am/ph :: tidal amplitude (m/s) / phase (s)
13    
14     % Tidal periods are specified using variable tidalPeriod in data.obcs
15     % Tidal amplitude is the maximum tidal velocity in m/s.
16     % Tidal phase indicates time in s of maximum positive tide relative
17     % to model startTime=0.
18    
19     % readbin.m and writebin.m are in MITgcm/utils/matlab/cs_grid/read_cs
20    
21     % create tidal input files
22     nx=10; ny=8;
23     tidalComponents=10;
24     for ob={'N','S','E','W'}
25     OBlength=ny;
26     if any(strcmp(ob,{'N','S'}))
27     OBlength=nx;
28     end
29     for fld={'am','ph'}
30     fnm=['OB' ob{1} fld{1} '.seaice_obcs'];
31     tmp=randn(OBlength,tidalComponents)/1000;
32    
33     % specify (0.1 m/s, 2 hr) for North boundary tidal component 1
34     if strcmp(ob,'N')
35     if strcmp(fld,'am')
36     tmp(:,1) = tmp(:,1) + 0.1;
37     else
38     tmp(:,1) = tmp(:,1) + 2 * 3600;
39     end
40     end
41    
42     % specify (0.2 m/s, 4 hr) for South boundary tidal component 2
43     if strcmp(ob,'S')
44     if strcmp(fld,'am')
45     tmp(:,2) = tmp(:,2) + 0.2;
46     else
47     tmp(:,2) = tmp(:,2) + 4 * 3600;
48     end
49     end
50    
51     % specify (0.3 m/s, 6 hr) for East boundary tidal component 3
52     if strcmp(ob,'E')
53     if strcmp(fld,'am')
54     tmp(:,3) = tmp(:,3) + 0.3;
55     else
56     tmp(:,3) = tmp(:,3) + 6 * 3600;
57     end
58     end
59    
60     % specify (0.4 m/s, 8 hr) for West boundary tidal component 4
61     if strcmp(ob,'W')
62     if strcmp(fld,'am')
63     tmp(:,4) = tmp(:,4) + 0.4;
64     else
65     tmp(:,4) = tmp(:,4) + 8 * 3600;
66     end
67     end
68    
69     writebin(fnm,tmp)
70     end
71     end

  ViewVC Help
Powered by ViewVC 1.1.22