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 tags/nemo_v3_2/nemo_v3_2/NEMO/OPA_SRC/BDY – NEMO

source: tags/nemo_v3_2/nemo_v3_2/NEMO/OPA_SRC/BDY/bdy_oce.F90 @ 1878

Last change on this file since 1878 was 1878, checked in by flavoni, 14 years ago

initial test for nemogcm

File size: 5.8 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   !!----------------------------------------------------------------------
9#if defined key_bdy 
10   !!----------------------------------------------------------------------
11   !!   'key_bdy'                      Unstructured Open Boundary Condition
12   !!----------------------------------------------------------------------
13   USE par_oce         ! ocean parameters
14   USE bdy_par         ! Unstructured boundary parameters
15
16   IMPLICIT NONE
17   PUBLIC
18
19   !!----------------------------------------------------------------------
20   !! Namelist variables
21   !!----------------------------------------------------------------------
22   CHARACTER(len=80) ::   filbdy_mask        !: Name of unstruct. bdy mask file
23   CHARACTER(len=80) ::   filbdy_data_T      !: Name of unstruct. bdy data file at T points
24   CHARACTER(len=80) ::   filbdy_data_U      !: Name of unstruct. bdy data file at U points
25   CHARACTER(len=80) ::   filbdy_data_V      !: Name of unstruct. bdy data file at V points
26   CHARACTER(len=80) ::   filbdy_data_bt_T   !: Name of unstruct. bdy data file at T points for barotropic variables
27   CHARACTER(len=80) ::   filbdy_data_bt_U   !: Name of unstruct. bdy data file at U points for barotropic variables
28   CHARACTER(len=80) ::   filbdy_data_bt_V   !: Name of unstruct. bdy data file at V points for barotropic variables
29   !
30   LOGICAL ::   ln_bdy_tides = .false.  !: =T apply tidal harmonic forcing along open boundaries
31   LOGICAL ::   ln_bdy_vol  = .false.   !: =T volume correction             
32   LOGICAL ::   ln_bdy_mask = .false.   !: =T read bdymask from file
33   LOGICAL ::   ln_bdy_clim = .false.   !: if true, we assume that bdy data files contain
34   !                                    !  1 time dump  (-->bdy forcing will be constant)
35   !                                    !  or 12 months (-->bdy forcing will be cyclic)
36   LOGICAL ::   ln_bdy_dyn_fla  = .false. !: =T Flather boundary conditions on barotropic velocities
37   LOGICAL ::   ln_bdy_dyn_frs  = .false. !: =T FRS boundary conditions on velocities
38   LOGICAL ::   ln_bdy_tra_frs  = .false. !: =T FRS boundary conditions on tracers (T and S)
39   LOGICAL ::   ln_bdy_ice_frs  = .false. !: =T FRS boundary conditions on seaice (leads fraction, ice depth, snow depth)
40   !
41   INTEGER ::   nb_rimwidth = 7         !: boundary rim width
42   INTEGER ::   nbdy_dta    = 1          !: = 0 use the initial state as bdy dta or = 1 read it in a NetCDF file
43   INTEGER ::   volbdy      = 1         !: = 0 the total volume will have the variability of the surface Flux E-P
44   !                                    !  = 1 the volume will be constant during all the integration.
45
46   !!----------------------------------------------------------------------
47   !! Global variables
48   !!----------------------------------------------------------------------
49   REAL(wp), DIMENSION(jpi,jpj) ::   bdytmask   !: Mask defining computational domain at T-points
50   REAL(wp), DIMENSION(jpi,jpj) ::   bdyumask   !: Mask defining computational domain at U-points
51   REAL(wp), DIMENSION(jpi,jpj) ::   bdyvmask   !: Mask defining computational domain at V-points
52
53   !!----------------------------------------------------------------------
54   !! Unstructured open boundary data variables
55   !!----------------------------------------------------------------------
56   INTEGER, DIMENSION(jpbgrd) ::   nblen                  !: Size of bdy data on a proc for each grid type
57   INTEGER, DIMENSION(jpbgrd) ::   nblenrim               !: Size of bdy data on a proc for first rim ind
58   INTEGER, DIMENSION(jpbgrd) ::   nblendta               !: Size of bdy data in file
59
60   INTEGER, DIMENSION(jpbdim,jpbgrd) ::   nbi, nbj        !: i and j indices of bdy dta
61   INTEGER, DIMENSION(jpbdim,jpbgrd) ::   nbr             !: Discrete distance from rim points
62   INTEGER, DIMENSION(jpbdim,jpbgrd) ::   nbmap           !: Indices of data in file for data in memory
63   
64   REAL(wp) ::   bdysurftot                             !: Lateral surface of unstructured open boundary
65
66   REAL(wp), DIMENSION(jpbdim)        ::   flagu, flagv   !: Flag for normal velocity compnt for velocity components
67   REAL(wp), DIMENSION(jpbdim,jpbgrd) ::   nbw            !: Rim weights of bdy data
68
69   REAL(wp), DIMENSION(jpbdim)     ::   sshbdy            !: Now clim of bdy sea surface height (Flather)
70   REAL(wp), DIMENSION(jpbdim)     ::   ubtbdy, vbtbdy    !: Now clim of bdy barotropic velocity components
71   REAL(wp), DIMENSION(jpbdim,jpk) ::   tbdy  , sbdy      !: Now clim of bdy temperature and salinity 
72   REAL(wp), DIMENSION(jpbdim,jpk) ::   ubdy  , vbdy    !: Now clim of bdy velocity components
73   REAL(wp), DIMENSION(jpbdim) ::   sshtide               !: Tidal boundary array : SSH
74   REAL(wp), DIMENSION(jpbdim) ::   utide, vtide          !: Tidal boundary array : U and V
75
76#else
77   !!----------------------------------------------------------------------
78   !!   Dummy module                NO Unstructured Open Boundary Condition
79   !!----------------------------------------------------------------------
80   LOGICAL ::   ln_bdy_tides = .false.  !: =T apply tidal harmonic forcing along open boundaries
81#endif
82
83   !!----------------------------------------------------------------------
84   !! NEMO/OPA 3.0 , LOCEAN-IPSL (2008)
85   !! $Id: bdy_oce.F90 1170 2008-08-11 12:28:51Z rblod $
86   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
87   !!======================================================================
88END MODULE bdy_oce
Note: See TracBrowser for help on using the repository browser.