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 @ 5165

Last change on this file since 5165 was 4148, checked in by cetlod, 11 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
RevLine 
[186]1MODULE oce_trc
2   !!======================================================================
3   !!                      ***  MODULE  oce_trc  ***
[945]4   !! TOP :   variables shared between ocean and passive tracers
[186]5   !!======================================================================
[945]6   !! History :   1.0  !  2004-03  (C. Ethe)  original code
7   !!             2.0  !  2007-12 (C. Ethe, G. Madec)  rewritting
[186]8   !!----------------------------------------------------------------------
[945]9#if defined key_top
10   !!----------------------------------------------------------------------
11   !!   'key_top'                                                TOP models
12   !!----------------------------------------------------------------------
[186]13
[945]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
[2528]23   USE par_oce , ONLY :   jp_tem   =>   jp_tem     !: indice for temperature
24   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity
[186]25
[945]26   !* IO manager *
[2528]27   USE in_out_manager   
[2715]28 
[3294]29   !* Memory Allocation *
30   USE wrk_nemo     
31 
32   !* Timing *
33   USE timing   
34 
[2715]35   !* MPP library                         
36   USE lib_mpp 
37
38   !* Fortran utilities                         
39   USE lib_fortran
40
41   !* Lateral boundary conditions                         
42   USE lbclnk
43
[945]44   !* physical constants *
[2528]45   USE phycst           
[186]46
[2528]47   !* 1D configuration
48   USE c1d                                         
49
[945]50   !* model domain *
[3680]51   USE dom_oce 
[335]52
[186]53
[945]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) 
[2528]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 )
[945]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)
[3294]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]   
[2528]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    !:
[1329]83   USE oce , ONLY :   gru     =>    gru     !:
84   USE oce , ONLY :   grv     =>    grv     !:
85#endif
[201]86
[945]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
[1011]90   USE sbc_oce , ONLY :   wndm       =>    wndm       !: 10m wind speed
[945]91   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2) 
[2528]92   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
[3294]93   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
[4148]94   USE sbc_oce , ONLY :   fmmflx     =>    fmmflx     !: freshwater budget: volume flux               [Kg/m2/s]
[2528]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
[1034]98   USE sbc_oce , ONLY :   fr_i       =>    fr_i       !: ice fraction (between 0 to 1)
[1445]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
[945]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.)
[3294]104   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
[186]105
[2528]106   USE trc_oce
[201]107
[945]108   !* lateral diffusivity (tracers) *
[3294]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
[186]122
[945]123   !* vertical diffusion *
124   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. at w-point for temp 
125# if defined key_zdfddm
[3294]126   USE zdfddm  , ONLY :   avs        =>   avs         !: salinity vertical diffusivity coeff. at w-point
[945]127# endif
[186]128
[945]129   !* mixing & mixed layer depth *
[1177]130   USE zdfmxl , ONLY :   nmln        =>   nmln        !: number of level in the mixed layer
[945]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)
[281]134
[945]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
[201]143
[945]144#else
145   !!----------------------------------------------------------------------
146   !!  Empty module :                                     No passive tracer
147   !!----------------------------------------------------------------------
[186]148#endif
[201]149
[2528]150   !!----------------------------------------------------------------------
151   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
152   !! $Id$
153   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
[945]154   !!======================================================================
[186]155END MODULE oce_trc
Note: See TracBrowser for help on using the repository browser.