1 | MODULE bdy_oce |
---|
2 | !!====================================================================== |
---|
3 | !! *** MODULE bdy_oce *** |
---|
4 | !! Unstructured Open Boundary Cond. : define related variables |
---|
5 | !!====================================================================== |
---|
6 | #if defined key_bdy || defined key_bdy_tides |
---|
7 | !!---------------------------------------------------------------------- |
---|
8 | !! 'key_bdy' : Unstructured Open Boundary Condition |
---|
9 | !!---------------------------------------------------------------------- |
---|
10 | !! History : |
---|
11 | !! 9.0 01/05 (J. Chanut, A. Sellar) Original code |
---|
12 | !!---------------------------------------------------------------------- |
---|
13 | !! * Modules used |
---|
14 | USE par_oce ! ocean parameters |
---|
15 | USE bdy_par ! Unstructured boundary parameters |
---|
16 | |
---|
17 | IMPLICIT NONE |
---|
18 | PUBLIC |
---|
19 | |
---|
20 | !!---------------------------------------------------------------------- |
---|
21 | !! Namelist variables |
---|
22 | !!---------------------------------------------------------------------- |
---|
23 | |
---|
24 | CHARACTER(len=80) :: & |
---|
25 | filbdy_mask, & !: Name of unstruct. bdy mask file |
---|
26 | filbdy_data_T, & !: Name of unstruct. bdy data file at T points |
---|
27 | filbdy_data_U, & !: Name of unstruct. bdy data file at U points |
---|
28 | filbdy_data_V, & !: Name of unstruct. bdy data file at V points |
---|
29 | filbdy_data_bt_T, & !: Name of unstruct. bdy data file at T points for barotropic variables |
---|
30 | filbdy_data_bt_U, & !: Name of unstruct. bdy data file at U points for barotropic variables |
---|
31 | filbdy_data_bt_V !: Name of unstruct. bdy data file at V points for barotropic variables |
---|
32 | |
---|
33 | LOGICAL :: & |
---|
34 | ln_bdy_clim =.false.!: if true, we assume that bdy data files contain |
---|
35 | ! 1 time dump (-->bdy forcing will be constant) |
---|
36 | ! or 12 months (-->bdy forcing will be cyclic) |
---|
37 | LOGICAL :: & |
---|
38 | ln_bdy_fla =.false. !: if true, flather boundary conditions |
---|
39 | |
---|
40 | LOGICAL :: & |
---|
41 | ln_bdy_vol =.false. !: if true, volume correction |
---|
42 | |
---|
43 | LOGICAL :: & |
---|
44 | ln_bdy_mask = .false. !: if true, read bdymask from file |
---|
45 | |
---|
46 | INTEGER :: & |
---|
47 | nb_rimwidth = 7, & !: boundary rim width |
---|
48 | nbdy_dta = 1 !: = 0 use the initial state as bdy dta |
---|
49 | !: = 1 read bdy data in netcdf file |
---|
50 | INTEGER :: & |
---|
51 | volbdy = 1 !: = 0 the total volume will have the variability |
---|
52 | ! of the surface Flux E-P else (volbdy = 1) |
---|
53 | ! the volume will be constant |
---|
54 | ! = 1 the volume will be constant during all the |
---|
55 | ! integration. |
---|
56 | |
---|
57 | !!---------------------------------------------------------------------- |
---|
58 | !! Global variables |
---|
59 | !!---------------------------------------------------------------------- |
---|
60 | |
---|
61 | REAL(wp), DIMENSION(jpi, jpj) :: & !: |
---|
62 | bdytmask, & !: Mask defining computational domain at T-points |
---|
63 | bdyumask, & !: Mask defining computational domain at U-points |
---|
64 | bdyvmask !: Mask defining computational domain at V-points |
---|
65 | |
---|
66 | !!---------------------------------------------------------------------- |
---|
67 | !! Unstructured open boundary data variables |
---|
68 | !!---------------------------------------------------------------------- |
---|
69 | |
---|
70 | INTEGER, DIMENSION(jpbgrd) :: & |
---|
71 | nblen = 0, & !: Size of bdy data on a proc for each grid type |
---|
72 | nblenrim = 0, & !: Size of bdy data on a proc for first rim ind |
---|
73 | nblendta = 0 !: Size of bdy data in file |
---|
74 | |
---|
75 | INTEGER, DIMENSION(jpbdim, jpbgrd) :: & |
---|
76 | nbi, nbj, & !: i and j indices of bdy dta |
---|
77 | nbr, & !: Discrete distance from rim points |
---|
78 | nbmap !: Indices of data in file for data in memory |
---|
79 | |
---|
80 | REAL(wp) :: & |
---|
81 | bdysurftot !: Lateral surface of unstructured open boundary |
---|
82 | |
---|
83 | REAL(wp), DIMENSION(jpbdim) :: & |
---|
84 | flagu, & !: Flag for normal velocity compnt for u-velocity |
---|
85 | flagv !: Flag for normal velocity compnt for v-velocity |
---|
86 | |
---|
87 | REAL(wp), DIMENSION(jpbdim, jpbgrd) :: & |
---|
88 | nbw !: Rim weights of bdy data |
---|
89 | |
---|
90 | REAL(wp), DIMENSION(jpbdim) :: & |
---|
91 | sshbdy, & !: Now clim of bdy sea surface height (Flather) |
---|
92 | ubtbdy, vbtbdy !: Now clim of bdy barotropic velocity components |
---|
93 | |
---|
94 | REAL(wp), DIMENSION(jpbdim,jpk) :: & |
---|
95 | tbdy, sbdy, & !: Now clim of bdy temperature and salinity |
---|
96 | ubdy, vbdy !: Now clim of bdy velocity components |
---|
97 | |
---|
98 | #if defined key_bdy_tides |
---|
99 | REAL(wp), DIMENSION(jpbdim) :: & |
---|
100 | sshtide, & !: Tidal boundary array : SSH |
---|
101 | utide, & !: Tidal boundary array : U |
---|
102 | vtide !: Tidal boundary array : V |
---|
103 | #endif |
---|
104 | |
---|
105 | #else |
---|
106 | !!---------------------------------------------------------------------- |
---|
107 | !! Default option : Empty module |
---|
108 | !!---------------------------------------------------------------------- |
---|
109 | #endif |
---|
110 | |
---|
111 | !!====================================================================== |
---|
112 | END MODULE bdy_oce |
---|