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

source: trunk/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90 @ 6287

Last change on this file since 6287 was 5836, checked in by cetlod, 9 years ago

merge the simplification branch onto the trunk, see ticket #1612

  • Property svn:keywords set to Id
File size: 8.2 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   !!----------------------------------------------------------------------
[5836]13   !
14   !                                            !* Domain size *
[945]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
[2528]22   USE par_oce , ONLY :   jp_tem   =>   jp_tem     !: indice for temperature
23   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity
[186]24
[5836]25   USE in_out_manager                           !* IO manager *
26   USE wrk_nemo                                 !* Memory Allocation *
27   USE timing                                   !* Timing *
28   USE lib_mpp                                  !* MPP library                         
29   USE lib_fortran                              !* Fortran utilities                         
30   USE lbclnk                                   !* Lateral boundary conditions                         
31   USE phycst                                   !* physical constants *
32   USE c1d                                      !* 1D configuration
33   USE dom_oce                                  !* model domain *
[2715]34
[4610]35   USE domvvl, ONLY : un_td, vn_td          !: thickness diffusion transport
36   USE domvvl, ONLY : ln_vvl_ztilde         !: ztilde vertical coordinate
37   USE domvvl, ONLY : ln_vvl_layer          !: level  vertical coordinate
[186]38
[945]39   !* ocean fields: here now and after fields *
40   USE oce , ONLY :   un      =>    un      !: i-horizontal velocity (m s-1)
41   USE oce , ONLY :   vn      =>    vn      !: j-horizontal velocity (m s-1)
42   USE oce , ONLY :   wn      =>    wn      !: vertical velocity (m s-1) 
[2528]43   USE oce , ONLY :   tsn     =>    tsn     !: 4D array contaning ( tn, sn )
44   USE oce , ONLY :   tsb     =>    tsb     !: 4D array contaning ( tb, sb )
45   USE oce , ONLY :   tsa     =>    tsa     !: 4D array contaning ( ta, sa )
[945]46   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)
47   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
48   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s)
[3294]49   USE oce , ONLY :   sshn    =>    sshn    !: sea surface height at t-point [m]   
50   USE oce , ONLY :   sshb    =>    sshb    !: sea surface height at t-point [m]   
51   USE oce , ONLY :   ssha    =>    ssha    !: sea surface height at t-point [m]   
[5836]52#if defined key_offline
53   USE oce , ONLY :   rab_n   =>    rab_n   !: local thermal/haline expension ratio at T-points
54#endif
[201]55
[945]56   !* surface fluxes *
57   USE sbc_oce , ONLY :   utau       =>    utau       !: i-surface stress component
58   USE sbc_oce , ONLY :   vtau       =>    vtau       !: j-surface stress component
[1011]59   USE sbc_oce , ONLY :   wndm       =>    wndm       !: 10m wind speed
[4306]60   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)
[2528]61   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
[3294]62   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
[4148]63   USE sbc_oce , ONLY :   fmmflx     =>    fmmflx     !: freshwater budget: volume flux               [Kg/m2/s]
[2528]64   USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s]
[5385]65   USE sbc_oce , ONLY :   ln_dm2dc   =>    ln_dm2dc   !: Diurnal Cycle
66   USE sbc_oce , ONLY :   ncpl_qsr_freq   =>   ncpl_qsr_freq   !: qsr coupling frequency per days from atmospher
[2528]67   USE sbc_oce , ONLY :   ln_rnf     =>    ln_rnf     !: runoffs / runoff mouths
[1034]68   USE sbc_oce , ONLY :   fr_i       =>    fr_i       !: ice fraction (between 0 to 1)
[5385]69   USE sbc_oce , ONLY :   nn_ice_embd => nn_ice_embd  !: flag for  levitating/embedding sea-ice in the ocean
[1445]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
[945]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.)
[3294]75   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
[5385]76   USE sbcrnf  , ONLY :   nk_rnf     =>    nk_rnf     !: depth of runoff in model level
[186]77
[2528]78   USE trc_oce
[201]79
[5836]80!!gm : I don't understand this as ldftra (where everything is defined) is used by TRC in all cases (ON/OFF-line)
81!!gm   so the following lines should be removed....   logical should be the one of TRC namelist
82!!gm   In case off coarsening....  the ( ahtu, ahtv, aeiu, aeiv) arrays are needed that's all.
[945]83   !* lateral diffusivity (tracers) *
[5836]84   USE ldftra , ONLY :  rn_aht_0     =>   rn_aht_0     !:   laplacian lateral eddy diffusivity [m2/s]
85   USE ldftra , ONLY :  rn_bht_0     =>   rn_bht_0     !: bilaplacian lateral eddy diffusivity [m4/s]
86   USE ldftra , ONLY :  ahtu         =>   ahtu         !: lateral diffusivity coef. at u-points
87   USE ldftra , ONLY :  ahtv         =>   ahtv         !: lateral diffusivity coef. at v-points
88   USE ldftra , ONLY :  rn_aeiv_0    =>   rn_aeiv_0    !: eddy induced velocity coefficient (m2/s)
89   USE ldftra , ONLY :  aeiu         =>   aeiu         !: eddy induced velocity coef. at u-points (m2/s)   
90   USE ldftra , ONLY :  aeiv         =>   aeiv         !: eddy induced velocity coef. at v-points (m2/s)
91   USE ldftra , ONLY :  ln_ldfeiv    =>   ln_ldfeiv    !: eddy induced velocity flag
92     
93!!gm this should be : ln_trcldf_triad (TRC namelist)
94   USE ldfslp , ONLY :  ln_traldf_triad => ln_traldf_triad   !: triad scheme (Griffies et al.)
[186]95
[5836]96   !* direction of lateral diffusion *
97   USE ldfslp , ONLY :   l_ldfslp  =>  l_ldfslp       !: slopes flag
98   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-slope at u-point
99   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-slope at v-point
100   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-slope at w-point
101   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-slope at w-point
102!!gm end
103
[945]104   !* vertical diffusion *
105   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. at w-point for temp 
106# if defined key_zdfddm
[3294]107   USE zdfddm  , ONLY :   avs        =>   avs         !: salinity vertical diffusivity coeff. at w-point
[945]108# endif
[186]109
[945]110   !* mixing & mixed layer depth *
[1177]111   USE zdfmxl , ONLY :   nmln        =>   nmln        !: number of level in the mixed layer
[945]112   USE zdfmxl , ONLY :   hmld        =>   hmld        !: mixing layer depth (turbocline)
113   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m)
114   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m)
[281]115
[5385]116   USE diaar5 , ONLY :   lk_diaar5  =>   lk_diaar5
[945]117#else
118   !!----------------------------------------------------------------------
119   !!  Empty module :                                     No passive tracer
120   !!----------------------------------------------------------------------
[186]121#endif
[201]122
[2528]123   !!----------------------------------------------------------------------
124   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
125   !! $Id$
126   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
[945]127   !!======================================================================
[186]128END MODULE oce_trc
Note: See TracBrowser for help on using the repository browser.