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.
oce_trc.F90 in branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC – NEMO

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, 10 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.