New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
bdy_oce.F90 in branches/DEV_r2106_LOCEAN2010/NEMO/OPA_SRC/BDY – NEMO

source: branches/DEV_r2106_LOCEAN2010/NEMO/OPA_SRC/BDY/bdy_oce.F90 @ 2236

Last change on this file since 2236 was 2236, checked in by cetlod, 14 years ago

First guess of NEMO_v3.3

  • Property svn:keywords set to Id
File size: 6.0 KB
Line 
1MODULE bdy_oce
2   !!======================================================================
3   !!                       ***  MODULE bdy_oce   ***
4   !! Unstructured Open Boundary Cond. :   define related variables
5   !!======================================================================
6   !! History :  1.0  !  2001-05  (J. Chanut, A. Sellar)  Original code
7   !!            3.0  !  2008-04  (NEMO team)  add in the reference version     
8   !!            3.3  !  2010-09  (D. Storkey) add ice boundary conditions
9   !!----------------------------------------------------------------------
10#if defined key_bdy 
11   !!----------------------------------------------------------------------
12   !!   'key_bdy'                      Unstructured Open Boundary Condition
13   !!----------------------------------------------------------------------
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   CHARACTER(len=80) ::   filbdy_mask        !: Name of unstruct. bdy mask file
24   CHARACTER(len=80) ::   filbdy_data_T      !: Name of unstruct. bdy data file at T points
25   CHARACTER(len=80) ::   filbdy_data_U      !: Name of unstruct. bdy data file at U points
26   CHARACTER(len=80) ::   filbdy_data_V      !: Name of unstruct. bdy data file at V points
27   CHARACTER(len=80) ::   filbdy_data_bt_T   !: Name of unstruct. bdy data file at T points for barotropic variables
28   CHARACTER(len=80) ::   filbdy_data_bt_U   !: Name of unstruct. bdy data file at U points for barotropic variables
29   CHARACTER(len=80) ::   filbdy_data_bt_V   !: Name of unstruct. bdy data file at V points for barotropic variables
30   !
31   LOGICAL ::   ln_bdy_tides = .false.  !: =T apply tidal harmonic forcing along open boundaries
32   LOGICAL ::   ln_bdy_vol  = .false.   !: =T volume correction             
33   LOGICAL ::   ln_bdy_mask = .false.   !: =T read bdymask from file
34   LOGICAL ::   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 ::   ln_bdy_dyn_fla  = .false. !: =T Flather boundary conditions on barotropic velocities
38   LOGICAL ::   ln_bdy_dyn_frs  = .false. !: =T FRS boundary conditions on velocities
39   LOGICAL ::   ln_bdy_tra_frs  = .false. !: =T FRS boundary conditions on tracers (T and S)
40   LOGICAL ::   ln_bdy_ice_frs  = .false. !: =T FRS boundary conditions on seaice (leads fraction, ice depth, snow depth)
41   !
42   INTEGER ::   nb_rimwidth = 7         !: boundary rim width
43   INTEGER ::   nbdy_dta    = 1          !: = 0 use the initial state as bdy dta or = 1 read it in a NetCDF file
44   INTEGER ::   volbdy      = 1         !: = 0 the total volume will have the variability of the surface Flux E-P
45   !                                    !  = 1 the volume will be constant during all the integration.
46
47   !!----------------------------------------------------------------------
48   !! Global variables
49   !!----------------------------------------------------------------------
50   REAL(wp), DIMENSION(jpi,jpj) ::   bdytmask   !: Mask defining computational domain at T-points
51   REAL(wp), DIMENSION(jpi,jpj) ::   bdyumask   !: Mask defining computational domain at U-points
52   REAL(wp), DIMENSION(jpi,jpj) ::   bdyvmask   !: Mask defining computational domain at V-points
53
54   !!----------------------------------------------------------------------
55   !! Unstructured open boundary data variables
56   !!----------------------------------------------------------------------
57   INTEGER, DIMENSION(jpbgrd) ::   nblen    = 0           !: Size of bdy data on a proc for each grid type
58   INTEGER, DIMENSION(jpbgrd) ::   nblenrim = 0           !: Size of bdy data on a proc for first rim ind
59   INTEGER, DIMENSION(jpbgrd) ::   nblendta = 0           !: Size of bdy data in file
60
61   INTEGER, DIMENSION(jpbdim,jpbgrd) ::   nbi, nbj        !: i and j indices of bdy dta
62   INTEGER, DIMENSION(jpbdim,jpbgrd) ::   nbr             !: Discrete distance from rim points
63   INTEGER, DIMENSION(jpbdim,jpbgrd) ::   nbmap           !: Indices of data in file for data in memory
64   
65   REAL(wp) ::   bdysurftot                             !: Lateral surface of unstructured open boundary
66
67   REAL(wp), DIMENSION(jpbdim)        ::   flagu, flagv   !: Flag for normal velocity compnt for velocity components
68   REAL(wp), DIMENSION(jpbdim,jpbgrd) ::   nbw            !: Rim weights of bdy data
69
70   REAL(wp), DIMENSION(jpbdim)     ::   sshbdy            !: Now clim of bdy sea surface height (Flather)
71   REAL(wp), DIMENSION(jpbdim)     ::   ubtbdy, vbtbdy    !: Now clim of bdy barotropic velocity components
72   REAL(wp), DIMENSION(jpbdim,jpk) ::   tbdy  , sbdy      !: Now clim of bdy temperature and salinity 
73   REAL(wp), DIMENSION(jpbdim,jpk) ::   ubdy  , vbdy    !: Now clim of bdy velocity components
74   REAL(wp), DIMENSION(jpbdim) ::   sshtide               !: Tidal boundary array : SSH
75   REAL(wp), DIMENSION(jpbdim) ::   utide, vtide          !: Tidal boundary array : U and V
76#if defined key_lim2
77   REAL(wp), DIMENSION(jpbdim) ::  &
78      frld_bdy, hicif_bdy,  & !: Now clim of ice leads fraction, ice 
79      hsnif_bdy               !: thickness and snow thickness
80#endif
81
82#else
83   !!----------------------------------------------------------------------
84   !!   Dummy module                NO Unstructured Open Boundary Condition
85   !!----------------------------------------------------------------------
86   LOGICAL ::   ln_bdy_tides = .false.  !: =T apply tidal harmonic forcing along open boundaries
87#endif
88
89   !!----------------------------------------------------------------------
90   !! NEMO/OPA 3.0 , LOCEAN-IPSL (2008)
91   !! $Id$
92   !! Software governed by the CeCILL licence  (NEMOGCM/License_CeCILL.txt)
93   !!======================================================================
94END MODULE bdy_oce
Note: See TracBrowser for help on using the repository browser.