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/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/TOP_SRC – NEMO

source: branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90 @ 4617

Last change on this file since 4617 was 4617, checked in by gm, 10 years ago

#1260 : TOP fixes, see the associated wiki page for explanation

  • Property svn:keywords set to Id
File size: 8.4 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   USE in_out_manager                           !* IO manager *
27   USE wrk_nemo                                 !* Memory Allocation *
28   USE timing                                   !* Timing *
29   USE lib_mpp                                  !* MPP library                         
30   USE lib_fortran                              !* Fortran utilities                         
31   USE lbclnk                                   !* Lateral boundary conditions                         
32   USE phycst                                   !* physical constants *
33   USE c1d                                      !* 1D configuration
34   USE dom_oce                                  !* model domain *
35
36   !                                            !* ocean fields: here now and after fields *
37   USE oce     , ONLY :   ua      =>    ua         !: i-horizontal velocity (m s-1)
38   USE oce     , ONLY :   va      =>    va         !: j-horizontal velocity (m s-1)
39   USE oce     , ONLY :   un      =>    un         !: i-horizontal velocity (m s-1)
40   USE oce     , ONLY :   vn      =>    vn         !: j-horizontal velocity (m s-1)
41   USE oce     , ONLY :   wn      =>    wn         !: vertical velocity (m s-1) 
42   USE oce     , ONLY :   tsn     =>    tsn        !: 4D array contaning ( tn, sn )
43   USE oce     , ONLY :   tsb     =>    tsb        !: 4D array contaning ( tb, sb )
44   USE oce     , ONLY :   tsa     =>    tsa        !: 4D array contaning ( ta, sa )
45   USE oce     , ONLY :   rhop    =>    rhop       !: potential volumic mass (kg m-3)
46   USE oce     , ONLY :   rhd     =>    rhd        !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
47   USE oce     , ONLY :   hdivn   =>    hdivn      !: now horizontal divergence (1/s)
48   USE oce     , ONLY :   sshn    =>    sshn       !: sea surface height at t-point [m]   
49   USE oce     , ONLY :   sshb    =>    sshb       !: sea surface height at t-point [m]   
50   USE oce     , ONLY :   ssha    =>    ssha       !: sea surface height at t-point [m]   
51#if defined key_offline
52   USE oce     , ONLY :   gtsu    =>    gtsu       !: t-, s- and rd horizontal gradient at u- and
53   USE oce     , ONLY :   gtsv    =>    gtsv       !:
54   USE oce     , ONLY :   gru     =>    gru        !:
55   USE oce     , ONLY :   grv     =>    grv        !:
56#endif
57
58   !                                            !* surface fluxes *
59   USE sbc_oce , ONLY :   utau       =>    utau       !: i-surface stress component
60   USE sbc_oce , ONLY :   vtau       =>    vtau       !: j-surface stress component
61   USE sbc_oce , ONLY :   wndm       =>    wndm       !: 10m wind speed
62   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)
63   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
64   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
65   USE sbc_oce , ONLY :   fmmflx     =>    fmmflx     !: freshwater budget: volume flux               [Kg/m2/s]
66   USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s]
67   USE sbc_oce , ONLY :   ln_dm2dc   =>    ln_dm2dc   !: Daily mean to Diurnal Cycle short wave (qsr)
68   USE sbc_oce , ONLY :   ln_rnf     =>    ln_rnf     !: runoffs / runoff mouths
69   USE sbc_oce , ONLY :   fr_i       =>    fr_i       !: ice fraction (between 0 to 1)
70   USE traqsr  , ONLY :   rn_abs     =>    rn_abs     !: fraction absorbed in the very near surface
71   USE traqsr  , ONLY :   rn_si0     =>    rn_si0     !: very near surface depth of extinction
72   USE traqsr  , ONLY :   ln_qsr_bio =>    ln_qsr_bio !: flag to use or not the biological fluxes for light
73   USE sbcrnf  , ONLY :   rnfmsk     =>    rnfmsk     !: mixed adv scheme in runoffs vicinity (hori.)
74   USE sbcrnf  , ONLY :   rnfmsk_z   =>    rnfmsk_z   !: mixed adv scheme in runoffs vicinity (vert.)
75   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
76
77   USE trc_oce                                  !* ??? *
78
79   !                                            !* lateral diffusivity (tracers) *
80!   USE ldftra , ONLY :  rn_aht_0 =>   rn_aht_0     !: horizontal eddy diffusivity for tracers (m2/s)
81!   USE ldftra , ONLY :  aht0     =>   aht0         !: horizontal eddy diffusivity for tracers (m2/s)
82!   USE ldftra , ONLY :  ahtb0    =>   ahtb0        !: background eddy diffusivity for isopycnal diff. (m2/s)
83!   USE ldftra , ONLY :  aeiv0    =>   aeiv0        !: eddy induced velocity coefficient (m2/s)
84   !
85   USE ldftra , ONLY :  ln_ldfeiv      =>  ln_ldfeiv        !: eddy induced velocity flag
86   USE ldftra , ONLY :  ln_traldf_lap  =>  ln_traldf_lap    !: laplacian   flag
87   USE ldftra , ONLY :  ln_traldf_blp  =>  ln_traldf_blp    !: bilaplacian flag
88   USE ldftra , ONLY :  rldf     =>   rldf         !: multiplicative coef. for lateral diffusivity
89   USE ldftra , ONLY :  ahtu     =>   ahtu         !: lateral diffusivity coef. at u-points
90   USE ldftra , ONLY :  ahtv     =>   ahtv         !: lateral diffusivity coef. at v-points
91   USE ldftra , ONLY :  aeiu     =>   aeiu         !: eddy induced velocity coef. at u-points   
92   USE ldftra , ONLY :  aeiv     =>   aeiv         !: eddy induced velocity coef. at v-points
93
94   !                                            !* vertical diffusion *
95   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. at w-point for temp 
96# if defined key_zdfddm
97   USE zdfddm  , ONLY :   avs        =>   avs         !: salinity vertical diffusivity coeff. at w-point
98# endif
99
100   !                                            !* mixing & mixed layer depth *
101   USE zdfmxl , ONLY :   nmln        =>   nmln        !: number of level in the mixed layer
102   USE zdfmxl , ONLY :   hmld        =>   hmld        !: mixing layer depth (turbocline)
103   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m)
104   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m)
105
106   !                                            !* direction of lateral diffusion *
107   USE ldfslp , ONLY :   l_ldfslp   =>   l_ldfslp     !: slopes flag
108   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-direction slope at u-, w-points
109   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-direction slope at v-, w-points
110   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-direction slope at u-, w-points
111   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-direction slope at v-, w-points
112
113#else
114   !!----------------------------------------------------------------------
115   !!  Empty module :                                     No passive tracer
116   !!----------------------------------------------------------------------
117#endif
118
119   !!----------------------------------------------------------------------
120   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
121   !! $Id$
122   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
123   !!======================================================================
124END MODULE oce_trc
Note: See TracBrowser for help on using the repository browser.