source: branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90 @ 4148

Last change on this file since 4148 was 4148, checked in by cetlod, 8 years ago

merge in trunk changes between r3853 and r3940 and commit the changes, see ticket #1169

  • Property svn:keywords set to Id
File size: 8.9 KB
Line 
1MODULE oce_trc
2   !!======================================================================
3   !!                      ***  MODULE  oce_trc  ***
4   !! TOP :   variables shared between ocean and passive tracers
5   !!======================================================================
6   !! History :   1.0  !  2004-03  (C. Ethe)  original code
7   !!             2.0  !  2007-12 (C. Ethe, G. Madec)  rewritting
8   !!----------------------------------------------------------------------
9#if defined key_top
10   !!----------------------------------------------------------------------
11   !!   'key_top'                                                TOP models
12   !!----------------------------------------------------------------------
13
14   !* Domain size *
15   USE par_oce , ONLY :   jpi      =>   jpi        !: first  dimension of grid --> i
16   USE par_oce , ONLY :   jpj      =>   jpj        !: second dimension of grid --> j 
17   USE par_oce , ONLY :   jpk      =>   jpk        !: number of levels 
18   USE par_oce , ONLY :   jpim1    =>   jpim1      !: jpi - 1
19   USE par_oce , ONLY :   jpjm1    =>   jpjm1      !: jpj - 1
20   USE par_oce , ONLY :   jpkm1    =>   jpkm1      !: jpk - 1 
21   USE par_oce , ONLY :   jpij     =>   jpij       !: jpi x jpj
22   USE par_oce , ONLY :   lk_esopa =>   lk_esopa   !: flag to activate the all option
23   USE par_oce , ONLY :   jp_tem   =>   jp_tem     !: indice for temperature
24   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity
25
26   !* IO manager *
27   USE in_out_manager   
28 
29   !* Memory Allocation *
30   USE wrk_nemo     
31 
32   !* Timing *
33   USE timing   
34 
35   !* MPP library                         
36   USE lib_mpp 
37
38   !* Fortran utilities                         
39   USE lib_fortran
40
41   !* Lateral boundary conditions                         
42   USE lbclnk
43
44   !* physical constants *
45   USE phycst           
46
47   !* 1D configuration
48   USE c1d                                         
49
50   !* model domain *
51   USE dom_oce 
52
53
54   !* ocean fields: here now and after fields *
55   USE oce , ONLY :   ua      =>    ua      !: i-horizontal velocity (m s-1)
56   USE oce , ONLY :   va      =>    va      !: j-horizontal velocity (m s-1)
57   USE oce , ONLY :   un      =>    un      !: i-horizontal velocity (m s-1)
58   USE oce , ONLY :   vn      =>    vn      !: j-horizontal velocity (m s-1)
59   USE oce , ONLY :   wn      =>    wn      !: vertical velocity (m s-1) 
60   USE oce , ONLY :   tsn     =>    tsn     !: 4D array contaning ( tn, sn )
61   USE oce , ONLY :   tsb     =>    tsb     !: 4D array contaning ( tb, sb )
62   USE oce , ONLY :   tsa     =>    tsa     !: 4D array contaning ( ta, sa )
63   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)
64   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
65   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s)
66   USE oce , ONLY :   rotn    =>    rotn    !: relative vorticity    [s-1]
67   USE oce , ONLY :   hdivb   =>    hdivb   !: horizontal divergence (1/s)
68   USE oce , ONLY :   rotb    =>    rotb    !: relative vorticity    [s-1]
69   USE oce , ONLY :   sshn    =>    sshn    !: sea surface height at t-point [m]   
70   USE oce , ONLY :   sshb    =>    sshb    !: sea surface height at t-point [m]   
71   USE oce , ONLY :   ssha    =>    ssha    !: sea surface height at t-point [m]   
72   USE oce , ONLY :   sshu_n  =>    sshu_n  !: sea surface height at u-point [m]   
73   USE oce , ONLY :   sshu_b  =>    sshu_b  !: sea surface height at u-point [m]   
74   USE oce , ONLY :   sshu_a  =>    sshu_a  !: sea surface height at u-point [m]   
75   USE oce , ONLY :   sshv_n  =>    sshv_n  !: sea surface height at v-point [m]   
76   USE oce , ONLY :   sshv_b  =>    sshv_b  !: sea surface height at v-point [m]   
77   USE oce , ONLY :   sshv_a  =>    sshv_a  !: sea surface height at v-point [m]   
78   USE oce , ONLY :   sshf_n  =>    sshf_n  !: sea surface height at v-point [m]   
79   USE oce , ONLY :   l_traldf_rot => l_traldf_rot  !: rotated laplacian operator for lateral diffusion
80#if defined key_offline
81   USE oce , ONLY :   gtsu    =>    gtsu    !: t-, s- and rd horizontal gradient at u- and
82   USE oce , ONLY :   gtsv    =>    gtsv    !:
83   USE oce , ONLY :   gru     =>    gru     !:
84   USE oce , ONLY :   grv     =>    grv     !:
85#endif
86
87   !* surface fluxes *
88   USE sbc_oce , ONLY :   utau       =>    utau       !: i-surface stress component
89   USE sbc_oce , ONLY :   vtau       =>    vtau       !: j-surface stress component
90   USE sbc_oce , ONLY :   wndm       =>    wndm       !: 10m wind speed
91   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2) 
92   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
93   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
94   USE sbc_oce , ONLY :   fmmflx     =>    fmmflx     !: freshwater budget: volume flux               [Kg/m2/s]
95   USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s]
96   USE sbc_oce , ONLY :   ln_dm2dc   =>    ln_dm2dc   !: Daily mean to Diurnal Cycle short wave (qsr)
97   USE sbc_oce , ONLY :   ln_rnf     =>    ln_rnf     !: runoffs / runoff mouths
98   USE sbc_oce , ONLY :   fr_i       =>    fr_i       !: ice fraction (between 0 to 1)
99   USE traqsr  , ONLY :   rn_abs     =>    rn_abs     !: fraction absorbed in the very near surface
100   USE traqsr  , ONLY :   rn_si0     =>    rn_si0     !: very near surface depth of extinction
101   USE traqsr  , ONLY :   ln_qsr_bio =>    ln_qsr_bio !: flag to use or not the biological fluxes for light
102   USE sbcrnf  , ONLY :   rnfmsk     =>    rnfmsk     !: mixed adv scheme in runoffs vicinity (hori.)
103   USE sbcrnf  , ONLY :   rnfmsk_z   =>    rnfmsk_z   !: mixed adv scheme in runoffs vicinity (vert.)
104   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
105
106   USE trc_oce
107
108   !* lateral diffusivity (tracers) *
109   USE ldftra_oce , ONLY :  rldf     =>   rldf        !: multiplicative coef. for lateral diffusivity
110   USE ldftra_oce , ONLY :  rn_aht_0 =>   rn_aht_0    !: horizontal eddy diffusivity for tracers (m2/s)
111   USE ldftra_oce , ONLY :  aht0     =>   aht0        !: horizontal eddy diffusivity for tracers (m2/s)
112   USE ldftra_oce , ONLY :  ahtb0    =>   ahtb0       !: background eddy diffusivity for isopycnal diff. (m2/s)
113   USE ldftra_oce , ONLY :  ahtu     =>   ahtu        !: lateral diffusivity coef. at u-points
114   USE ldftra_oce , ONLY :  ahtv     =>   ahtv        !: lateral diffusivity coef. at v-points
115   USE ldftra_oce , ONLY :  ahtw     =>   ahtw        !: lateral diffusivity coef. at w-points
116   USE ldftra_oce , ONLY :  ahtt     =>   ahtt        !: lateral diffusivity coef. at t-points
117   USE ldftra_oce , ONLY :  aeiv0    =>   aeiv0       !: eddy induced velocity coefficient (m2/s)
118   USE ldftra_oce , ONLY :  aeiu     =>   aeiu        !: eddy induced velocity coef. at u-points (m2/s)   
119   USE ldftra_oce , ONLY :  aeiv     =>   aeiv        !: eddy induced velocity coef. at v-points (m2/s)
120   USE ldftra_oce , ONLY :  aeiw     =>   aeiw        !: eddy induced velocity coef. at w-points (m2/s)
121   USE ldftra_oce , ONLY :  lk_traldf_eiv  =>  lk_traldf_eiv     !: eddy induced velocity flag
122
123   !* vertical diffusion *
124   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. at w-point for temp 
125# if defined key_zdfddm
126   USE zdfddm  , ONLY :   avs        =>   avs         !: salinity vertical diffusivity coeff. at w-point
127# endif
128
129   !* mixing & mixed layer depth *
130   USE zdfmxl , ONLY :   nmln        =>   nmln        !: number of level in the mixed layer
131   USE zdfmxl , ONLY :   hmld        =>   hmld        !: mixing layer depth (turbocline)
132   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m)
133   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m)
134
135   !* direction of lateral diffusion *
136   USE ldfslp , ONLY :   lk_ldfslp  =>  lk_ldfslp     !: slopes flag
137# if   defined key_ldfslp
138   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-direction slope at u-, w-points
139   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-direction slope at v-, w-points
140   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-direction slope at u-, w-points
141   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-direction slope at v-, w-points
142# endif
143
144#else
145   !!----------------------------------------------------------------------
146   !!  Empty module :                                     No passive tracer
147   !!----------------------------------------------------------------------
148#endif
149
150   !!----------------------------------------------------------------------
151   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
152   !! $Id$
153   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
154   !!======================================================================
155END MODULE oce_trc
Note: See TracBrowser for help on using the repository browser.