1 | MODULE ldftra_oce |
---|
2 | !!===================================================================== |
---|
3 | !! *** MODULE ldftra_oce *** |
---|
4 | !! Ocean physics : lateral tracer mixing coefficient defined in memory |
---|
5 | !!===================================================================== |
---|
6 | !! |
---|
7 | !! ** Purpose : - Define in memory lateral tracer mixing coefficients |
---|
8 | !! |
---|
9 | !! History : |
---|
10 | !! 9.0 ! 02-11 (G. Madec) Original code (from common.h) |
---|
11 | !!---------------------------------------------------------------------- |
---|
12 | !! OPA 9.0 , LODYC-IPSL (2003) |
---|
13 | !!---------------------------------------------------------------------- |
---|
14 | !! * Modules used |
---|
15 | USE par_oce ! ocean parameters |
---|
16 | |
---|
17 | IMPLICIT NONE |
---|
18 | PRIVATE |
---|
19 | |
---|
20 | !!---------------------------------------------------------------------- |
---|
21 | !! Lateral eddy diffusivity coefficients (tracers) |
---|
22 | !!---------------------------------------------------------------------- |
---|
23 | |
---|
24 | LOGICAL , PUBLIC :: & !!: ** lateral mixing namelist (nam_traldf) ** |
---|
25 | ln_traldf_lap = .TRUE. , & !: laplacian operator |
---|
26 | ln_traldf_bilap = .FALSE. , & !: bilaplacian operator |
---|
27 | ln_traldf_level = .FALSE. , & !: iso-level direction |
---|
28 | ln_traldf_hor = .FALSE. , & !: horizontal (geopotential) direction |
---|
29 | ln_traldf_iso = .TRUE. !: iso-neutral direction |
---|
30 | |
---|
31 | REAL(wp), PUBLIC :: & !!: ** lateral mixing namelist (namldf) ** |
---|
32 | aht0 = 2000._wp , & !: lateral eddy diffusivity (m2/s) |
---|
33 | ahtb0 = 0._wp , & !: lateral background eddy diffusivity (m2/s) |
---|
34 | aeiv0 = 2000._wp !: eddy induced velocity coefficient (m2/s) |
---|
35 | |
---|
36 | LOGICAL , PUBLIC :: & !: flag of the lateral diff. scheme used |
---|
37 | l_traldf_lap , & !: iso-level laplacian operator |
---|
38 | l_traldf_bilap , & !: iso-level bilaplacian operator |
---|
39 | l_traldf_bilapg , & !: geopotential bilap. (s-coord) |
---|
40 | l_traldf_iso , & !: iso-neutral laplacian or horizontal lapacian (s-coord) |
---|
41 | l_trazdf_iso , & !: idem for the vertical component |
---|
42 | l_trazdf_iso_vo , & !: idem with vectopt_memory |
---|
43 | l_traldf_iso_zps !: iso-neutral laplacian (partial steps) |
---|
44 | |
---|
45 | #if defined key_traldf_c3d |
---|
46 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !: ** 3D coefficients ** |
---|
47 | #elif defined key_traldf_c2d |
---|
48 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: ** 2D coefficients ** |
---|
49 | #elif defined key_traldf_c1d |
---|
50 | REAL(wp), PUBLIC, DIMENSION(jpk) :: & !: ** 1D coefficients ** |
---|
51 | #else |
---|
52 | REAL(wp), PUBLIC :: & !: ** 0D coefficients ** |
---|
53 | #endif |
---|
54 | ahtt, ahtu, ahtv, ahtw !: T-, U-, V-, W-points coefficients |
---|
55 | |
---|
56 | |
---|
57 | #if defined key_traldf_eiv |
---|
58 | !!---------------------------------------------------------------------- |
---|
59 | !! 'key_traldf_eiv' eddy induced velocity |
---|
60 | !!---------------------------------------------------------------------- |
---|
61 | LOGICAL, PUBLIC, PARAMETER :: lk_traldf_eiv = .TRUE. !: eddy induced velocity flag |
---|
62 | |
---|
63 | # if defined key_traldf_c3d |
---|
64 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !: ** 3D coefficients ** |
---|
65 | # elif defined key_traldf_c2d |
---|
66 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: ** 2D coefficients ** |
---|
67 | # elif defined key_traldf_c1d |
---|
68 | REAL(wp), PUBLIC, DIMENSION(jpk) :: & !: ** 1D coefficients ** |
---|
69 | # else |
---|
70 | REAL(wp), PUBLIC :: & !: ** 0D coefficients ** |
---|
71 | # endif |
---|
72 | aeiu, aeiv, aeiw !: U-, V-, W-points induced velocity coef. (m2/s) |
---|
73 | |
---|
74 | # if defined key_diaeiv |
---|
75 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !: |
---|
76 | u_eiv, v_eiv, w_eiv !: The three component of the eddy induced velocity (m/s) |
---|
77 | # endif |
---|
78 | |
---|
79 | #else |
---|
80 | !!---------------------------------------------------------------------- |
---|
81 | !! Default option : NO eddy induced velocity |
---|
82 | !!---------------------------------------------------------------------- |
---|
83 | LOGICAL , PUBLIC, PARAMETER :: lk_traldf_eiv = .FALSE. !: eddy induced velocity flag |
---|
84 | REAL(wp), PUBLIC :: aeiu, aeiv, aeiw |
---|
85 | #endif |
---|
86 | |
---|
87 | !!---------------------------------------------------------------------- |
---|
88 | END MODULE ldftra_oce |
---|