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.
ldftra_oce.F90 in branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/LDF – NEMO

source: branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_oce.F90 @ 2371

Last change on this file since 2371 was 2371, checked in by acc, 13 years ago

nemo_v3_3_beta. Improvement of the Griffies operator code (#680). Some aspects are still undergoing scientific assessment but the code structure is ready for release. Dynamical allocation of the large triad arrays has been introduced to reduce memory when the new operator is not in use.

  • Property svn:keywords set to Id
File size: 4.3 KB
Line 
1MODULE ldftra_oce
2   !!=====================================================================
3   !!                      ***  MODULE  ldftra_oce  ***
4   !! Ocean physics :  lateral tracer mixing coefficient defined in memory
5   !!=====================================================================
6   !! History :  9.0  !  02-11  (G. Madec)  Original code
7   !!----------------------------------------------------------------------
8   USE par_oce         ! ocean parameters
9
10   IMPLICIT NONE
11   PRIVATE
12
13   !!----------------------------------------------------------------------
14   !! Lateral eddy diffusivity coefficients (tracers)
15   !!----------------------------------------------------------------------
16   !                                                !!* Namelist namtra_ldf : lateral mixing *
17   LOGICAL , PUBLIC ::   ln_traldf_lap   = .TRUE.    !: laplacian operator
18   LOGICAL , PUBLIC ::   ln_traldf_bilap = .FALSE.   !: bilaplacian operator
19   LOGICAL , PUBLIC ::   ln_traldf_level = .FALSE.   !: iso-level direction
20   LOGICAL , PUBLIC ::   ln_traldf_hor   = .FALSE.   !: horizontal (geopotential) direction
21   LOGICAL , PUBLIC ::   ln_traldf_iso   = .TRUE.    !: iso-neutral direction
22   LOGICAL , PUBLIC ::   ln_traldf_grif  = .FALSE.   !: griffies skew flux
23   LOGICAL , PUBLIC ::   ln_traldf_gdia  = .FALSE.   !: griffies skew flux streamfunction diagnostics
24   REAL(wp), PUBLIC ::   rn_aht_0        = 2000._wp  !: lateral eddy diffusivity (m2/s)
25   REAL(wp), PUBLIC ::   rn_ahtb_0       =    0._wp  !: lateral background eddy diffusivity (m2/s)
26   REAL(wp), PUBLIC ::   rn_aeiv_0       = 2000._wp  !: eddy induced velocity coefficient (m2/s)
27   REAL(wp), PUBLIC ::   rn_slpmax       = 0.01_wp   !: slope limit
28
29   REAL(wp), PUBLIC ::   aht0, ahtb0, aeiv0         !!: OLD namelist names
30   LOGICAL , PUBLIC ::   l_triad_iso     = .FALSE.   !: calculate triads twice
31   LOGICAL , PUBLIC ::   l_no_smooth     = .FALSE.   !: no Shapiro smoothing
32
33#if defined key_traldf_c3d
34   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   ahtt, ahtu, ahtv, ahtw   !: ** 3D coefficients ** at T-, U-, V-, W-points
35#elif defined key_traldf_c2d
36   REAL(wp), PUBLIC, DIMENSION(jpi,jpj)     ::   ahtt, ahtu, ahtv, ahtw   !: ** 2D coefficients ** at T-, U-, V-, W-points
37#elif defined key_traldf_c1d
38   REAL(wp), PUBLIC, DIMENSION(jpk)         ::   ahtt, ahtu, ahtv, ahtw   !: ** 1D coefficients ** at T-, U-, V-, W-points
39#else
40   REAL(wp), PUBLIC                         ::   ahtt, ahtu, ahtv, ahtw   !: ** 0D coefficients ** at T-, U-, V-, W-points
41#endif
42
43
44#if defined key_traldf_eiv
45   !!----------------------------------------------------------------------
46   !!   'key_traldf_eiv'                              eddy induced velocity
47   !!----------------------------------------------------------------------
48   LOGICAL, PUBLIC, PARAMETER               ::   lk_traldf_eiv   = .TRUE.   !: eddy induced velocity flag
49     
50# if defined key_traldf_c3d
51   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   aeiu, aeiv, aeiw  !: ** 3D coefficients ** at U-, V-, W-points  [m2/s]
52# elif defined key_traldf_c2d
53   REAL(wp), PUBLIC, DIMENSION(jpi,jpj)     ::   aeiu, aeiv, aeiw  !: ** 2D coefficients ** at U-, V-, W-points  [m2/s]
54# elif defined key_traldf_c1d
55   REAL(wp), PUBLIC, DIMENSION(jpk)         ::   aeiu, aeiv, aeiw  !: ** 1D coefficients ** at U-, V-, W-points  [m2/s]
56# else
57   REAL(wp), PUBLIC                         ::   aeiu, aeiv, aeiw  !: ** 0D coefficients ** at U-, V-, W-points  [m2/s]
58# endif
59# if defined key_diaeiv
60   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   u_eiv, v_eiv, w_eiv   !: eddy induced velocity [m/s]
61# endif
62
63#else
64   !!----------------------------------------------------------------------
65   !!   Default option :                           NO eddy induced velocity
66   !!----------------------------------------------------------------------
67   LOGICAL , PUBLIC, PARAMETER ::   lk_traldf_eiv   = .FALSE.   !: eddy induced velocity flag
68   REAL(wp), PUBLIC            ::   aeiu, aeiv, aeiw            !: eddy induced coef. (not used)
69#endif
70
71   !!----------------------------------------------------------------------
72   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
73   !! $Id$
74   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
75   !!=====================================================================
76END MODULE ldftra_oce
Note: See TracBrowser for help on using the repository browser.